sql >> Databasteknik >  >> RDS >> Mysql

gruppera efter och sortera efter i mysql-frågan

Du kan uppnå detta med MAX gruppfunktion. Jag har rensat upp frågan lite men i grund och botten bör detta behålla samma logik som du hade tidigare samtidigt som det är något mer optimeringsbart. Ändra bara a.date_time för det datum och tid-fält som finns i tabellen.

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;

Detta kommer att sortera posterna efter datum/tid för senaste besök och returnera den senaste 12.




  1. Hur släpper man kolumn med tvång?

  2. Hur man infogar data från en kolumn i en annan tabell

  3. Vad är det bästa sättet att implementera stavfelskorrigering i en sökning i php/mysql?

  4. hur laddar man ner blobbaserad fil från MySQL-databas i PHP?