sql >> Databáze >  >> RDS >> Mysql

Vyberte pouze poslední hodnotu pomocí group by na mysql

Použijte jednoduchou skupinu podle id_member, ale vyberte:

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

To připojí docházku k časovému razítku pro každý řádek ve skupině, aby bylo možné vybrat požadované časové razítko/docházku pomocí max() a poté extrahovat pouze docházku.

Co concat() vrací 19 znaků formátovaného časového razítka (RRRR-mm-dd HH:MM:SS) s připojenou docházkou počínaje znakem 20; substring(... from 20) získá pouze návštěvnost z (řetězcového) maxima pro skupinu. Skupinu můžete odstranit pomocí a jen

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

abyste získali lepší představu o tom, jak využívá max. k získání správné návštěvnosti.



  1. Importujte data.sql MySQL Docker Container

  2. Instalace R12.2.6 EBS krok za krokem na Virtual Box

  3. Jak zkontroluji, zda v poli tabulky v MySQL existuje index?

  4. Jak optimalizovat výkon COUNT(*) na InnoDB pomocí indexu