sql >> Database >  >> RDS >> Mysql

Selecteer alleen de laatste waarde met group by op mysql

Gebruik een eenvoudige groep op id_member, maar selecteer:

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

Dit koppelt aanwezigheid aan de tijdstempel voor elke rij in een groep, om de gewenste tijdstempel/aanwezigheid te kunnen selecteren met max() en vervolgens alleen de aanwezigheid te extraheren.

Wat concat() retourneert 19 tekens van een opgemaakt tijdstempel (JJJJ-mm-dd UU:MM:SS) met de aanwezigheid toegevoegd vanaf teken 20; de substring(... from 20) krijgt net de opkomst van de (stringsgewijze) maximale voor de groep. U kunt de groep verwijderen door en gewoon

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

om een ​​beter idee te krijgen van hoe het max gebruikt om de juiste opkomst te krijgen.



  1. 2 manieren om rijen te retourneren die alleen niet-alfanumerieke tekens bevatten in MariaDB

  2. MySQL Selecteer slechts één rij van elke gediagnosticeerde patiënt volgens de eerste datum

  3. Totale rij toevoegen in MySQL

  4. Voorbeeld van PHP/MySQL-injectie