Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql seleciona linha distinta, mas mais recente


Você pode fazê-lo com uma união
(SELECT 
    site,date,score 
FROM
    `table`
WHERE 
    site = 'a'
ORDER BY date DESC
LIMIT 0,1)
UNION
(SELECT 
    site,date,score 
FROM
    `table`
WHERE 
    site = 'b'
ORDER BY date DESC
LIMIT 0,1)

Um pouco mais complicado se você não quiser escrever um UNION
SELECT 
    t.site, t.date, t.score
FROM 
    `table` t
    JOIN (
       SELECT ti.site,MAX(ti.date) AS dt
       FROM `table` ti
       GROUP BY ti.site
    ) t2 ON t2.site = t.site and t2.dt = t.date