Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Select-Zeilen beim ersten Auftreten jedes eindeutigen Werts

mysql hat dafür einen "Cheat":

select *
from mytable
group by cid;

Das ist alles, was Sie brauchen, denn in mysql können Sie nicht aggregiert die nicht-gruppierten-nach-Spalten (andere Datenbanken würden einen Syntaxfehler auslösen), in diesem Fall wird nur das erste Vorkommen jedes gruppierten Werts/jeder gruppiert-nach-Werte ausgegeben. Beachten Sie jedoch, dass dies den Weg nicht garantiert in dem das "erste" Vorkommen bestimmt wird (es wird nur so sein, wie die Zeilen eingelesen werden)

Wenn Sie ein besonderes wünschen Beim ersten Vorkommen zuerst sortieren, dann den Gruppieren-nach-Cheat anwenden:

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