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

Vælg række med seneste dato pr. bruger

Forespørgsel:

SQLFIDDLEKsempel

SELECT t1.*
FROM lms_attendance t1
WHERE t1.time = (SELECT MAX(t2.time)
                 FROM lms_attendance t2
                 WHERE t2.user = t1.user)
 

Resultat:

| ID | USER | TIME | IO | -------------------------------- | 2 | 9 | 1370931664 | out | | 3 | 6 | 1370932128 | out | | 5 | 12 | 1370933037 | in |

Løsning, der fungerer hver gang:

SQLFIDDLEKsempel

SELECT t1.*
FROM lms_attendance t1
WHERE t1.id = (SELECT t2.id
                 FROM lms_attendance t2
                 WHERE t2.user = t1.user            
                 ORDER BY t2.id DESC
                 LIMIT 1)
 


  1. MySQL Sammenlign databaser

  2. Kunne ikke åbne databasen i læse-/skrivetilstand

  3. SQL:Vælg poster, hvor ALLE sammenføjede poster opfylder en betingelse

  4. newid() inde i sql-serverfunktionen