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

MYSQL - Come ottenere colonne non aggregate da una tabella basata su una colonna aggregata

Prova qualcosa di un po' più simile a questo:

Select al.id, al.activity, al.activity_id
From activty_log
Join (Select max(aa.activity_id) as ma From activity_log aa group by aa.id) As al2
 On al2.ma = al2.activity_id;

Il trucco è ottenere l'activity_id dal massimo di ciascun gruppo di record che condividono id in una sottoquery, quindi unisciti a quei risultati per ottenere le altre colonne di quel record specifico.