Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

nhóm theo thứ tự trong truy vấn mysql

Bạn có thể đạt được điều này bằng cách sử dụng MAX chức năng nhóm. Tôi đã làm sạch truy vấn một chút nhưng về cơ bản điều này sẽ giữ lại cùng một logic mà bạn đã có trước đó trong khi có thể tối ưu hơn một chút. Chỉ cần thay đổi a.date_time cho bất kỳ trường ngày giờ nào trong bảng của bạn.

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;

Thao tác này sẽ sắp xếp các bản ghi theo ngày / giờ của lần truy cập gần đây nhất và trả về ngày muộn nhất 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. MYSQL đối sánh với truy vấn hai bảng

  2. Làm cách nào để nhận các giá trị có thể có trong cơ sở dữ liệu MySQL?

  3. PHP - Lỗi bị từ chối truy cập MySQL - Hoạt động trong các chương trình khác

  4. MySQL tự động lưu trữ ngày giờ cho mỗi hàng

  5. Khóa chính có phải là chỉ mục không?