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

MYSQL - Sådan får du ikke-aggregerede kolonner fra en tabel baseret på en aggregeret kolonne

Prøv noget lidt mere som dette:

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;

Tricket er at få activity_id fra maks. for hver gruppe af poster, der deler id i en underforespørgsel, og derefter slutte sig til disse resultater for at få de andre kolonner i den specifikke post.



  1. SQL:Afbryder en forespørgsel

  2. Kald Oracle objektorienterede PL/SQL medlemsprocedurer fra JDBC

  3. vælg fra en tabel og indsæt i en anden

  4. For mange rækkefølge efter, max, underforespørgsler til mit intellekt