Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Seleziona le righe alla prima occorrenza di ogni valore univoco

mysql ha un "cheat" per questo:

select *
from mytable
group by cid;

Questo è tutto ciò di cui hai bisogno, perché in mysql ti permette di non aggrega le colonne non raggruppate (altri database genererebbero un errore di sintassi), nel qual caso restituisce solo la prima occorrenza di ciascun valore raggruppato. Nota però che questo non garantirà il modo in cui viene determinata la "prima" occorrenza (sarà proprio come vengono lette le righe)

Se vuoi un particolare prima occorrenza, ordina prima, quindi applica il cheat group-by:

select *
from (
    -- order by the "time" column descending to get the "most recent" row
    select * from mytable order by time desc
    ) x
group by cid