sql >> Database >  >> RDS >> Mysql

MYSQL - Hoe krijg ik niet-geaggregeerde kolommen uit een tabel op basis van een geaggregeerde kolom

Probeer iets meer als dit:

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;

De truc is om de activity_id . te krijgen van het maximum van elke groep records die id . delen in een subquery en voeg vervolgens toe aan die resultaten om de andere kolommen van dat specifieke record te krijgen.



  1. PL/pgSQL-besturingsstructuren voor lijsten / arrays

  2. Welk slot, indien aanwezig, gebruikt 'CREATE TRIGGER' in PostgreSQL 9.4.2

  3. Is het mogelijk om de opgeslagen procedure in view aan te roepen?

  4. Prestatievraag:OP DUPLICATE KEY UPDATE vs UPDATE (MySQL)