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

MYSQL - So erhalten Sie nicht aggregierte Spalten aus einer Tabelle, die auf einer aggregierten Spalte basiert

Versuchen Sie es etwas ähnlicher:

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;

Der Trick besteht darin, die activity_id abzurufen aus dem Maximum jeder Gruppe von Datensätzen, die id teilen in einer Unterabfrage, dann verknüpfen Sie diese Ergebnisse, um die anderen Spalten dieses bestimmten Datensatzes zu erhalten.