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

Sử dụng ORDER BY và GROUP BY cùng nhau

Một cách để thực hiện việc này là sử dụng đúng nhóm group by :

select l.* 
from table l
inner join (
  select 
    m_id, max(timestamp) as latest 
  from table 
  group by m_id
) r
  on l.timestamp = r.latest and l.m_id = r.m_id
order by timestamp desc

Cách thức hoạt động:

  • chọn dấu thời gian mới nhất cho từng m_id riêng biệt trong truy vấn con
  • chỉ chọn các hàng từ table khớp với một hàng từ truy vấn con (thao tác này - nơi một phép nối được thực hiện, nhưng không có cột nào được chọn từ bảng thứ hai, nó chỉ được sử dụng làm bộ lọc - được gọi là href "bán tham gia" trong trường hợp bạn tò mò)
  • sắp xếp các hàng


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hướng dẫn MySQL Workbench - Hướng dẫn Toàn diện về Công cụ RDBMS

  2. Cách đặt lại mật khẩu gốc MySQL

  3. Làm cách nào để sử dụng xóa thác trong mysql?

  4. Làm cách nào để chặn đầu ra tiêu đề cột cho một câu lệnh SQL?

  5. Cách tạo MySQL máy chủ liên kết