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

grupper efter og bestil efter i mysql-forespørgsel

Du kan opnå dette ved at bruge MAX gruppefunktion. Jeg har ryddet lidt op i forespørgslen, men grundlæggende burde dette bevare den samme logik, som du havde før, mens det er lidt mere optimerbart. Du skal bare ændre a.date_time for det dato-klokkeslætsfelt, der er i din tabel.

SELECT
    a.visitorid,
    MAX( a.date_time ) AS last_visit_date_time,
    b.onlinestatus,
    b.username,
    b.age,

FROM tbl_visitprofile a

INNER JOIN tbl_user b
    ON b.id = a.visitorid
    AND b.STATUS != '2'

LEFT JOIN tbl_pauseusers p
    ON p.user_id = a.visitorid

WHERE a.visitmemberid = '10'
    AND a.blockstatus = '0'
    AND p.user_id IS NULL

GROUP BY a.visitorid
ORDER BY last_visit_date_time DESC
LIMIT 0 , 12;

Dette vil sortere posterne efter datoen/tidspunktet for sidste besøg og returnere den seneste 12.




  1. MySQL - Sådan vælger du data efter strenglængde

  2. Flere afkrydsningsfelter gemt i et enkelt felt i en database

  3. Indsættelse af data i sql-tabel i Eclipse EE

  4. Hvordan begrænser man stemmer pr. dag efter IP i Php+Mysql-afstemning?