sql >> Databasteknik >  >> RDS >> Mysql

Välj endast det sista värdet med hjälp av group by at mysql

Använd en enkel grupp efter id_member, men välj:

substring(max(concat(from_unixtime(timestamp),attendance)) from 20) as attendance

Detta bifogar närvaro till tidsstämpeln för varje rad i en grupp, för att kunna välja önskad tidsstämpel/närvaro med max() och sedan extrahera bara närvaron.

Vad concat() returnerar är 19 tecken av formaterad tidsstämpel (ÅÅÅÅ-mm-dd TT:MM:SS) med närvaron bifogad med början på tecken 20; substring(... from 20) får bara närvaron från den (strängmässiga) maximala för gruppen. Du kan ta bort gruppen genom och bara

select concat(from_unixtime(timestamp),attendance), timestamp, attendance

för att få en bättre uppfattning om hur den använder max för att få rätt närvaro.



  1. MySQL välj koordinater inom räckvidd

  2. PHP till MySQL SSL-anslutningar

  3. Välj rader från en tabell där rad i en annan tabell med samma id har ett speciellt värde i en annan kolumn

  4. Släpp främmande nyckel utan att veta namnet på begränsningen?