Mysql
 sql >> Baza danych >  >> RDS >> Mysql

grupuj według i porządkuj według w zapytaniu mysql

Możesz to osiągnąć za pomocą MAX funkcja grupy. Trochę uporządkowałem zapytanie, ale zasadniczo powinno to zachować tę samą logikę, którą miałeś wcześniej, jednocześnie będąc nieco bardziej zoptymalizowanym. Po prostu zmień a.date_time na dowolne pole daty i godziny w Twojej tabeli.

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;

Spowoduje to uporządkowanie zapisów według daty/godziny ostatniej wizyty i zwrócenie ostatnich 12.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy mogę zdefiniować wiele zdarzeń w jednej deklaracji wyzwalacza w mysql?

  2. mysql pokazuje dostępne przedziały czasowe i przedziały czasowe zajęte z tabeli

  3. Dlaczego tworzenie klucza obcego w Laravel 5.8 kończy się niepowodzeniem?

  4. Połączyć tabele zawierające wiersze jako kolumny połączone z inną tabelą?

  5. Wyjdź ze skryptu MySQL, jeśli baza danych istnieje