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

Đặt hàng kết quả biểu mẫu Mysql nhóm theo

  • Sử dụng JOIN

và một truy vấn với GROUP BY để có được id tối đa cho mọi danh mục (Tôi đoán bạn muốn hàng có id tối đa cho mọi danh mục, phải không?)

Các mục nhập
SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
JOIN
    ( SELECT max(id) AS maxid
      FROM entries
      GROUP BY category
    ) AS cat
ON e.id = cat.maxid
  • Sử dụng IN

và một truy vấn để nhận được id tối đa cho mọi danh mục

SELECT id
     , title
     , created
     , updated
     , category
     , content
FROM entries
WHERE id IN
    ( SELECT max(id)
      FROM entries
      GROUP BY category
    )
  • Sử dụng BẤT KỲ

và một truy vấn con có liên quan

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
WHERE e.id >= ANY
    ( SELECT cat.id
      FROM entries cat
      WHERE e.category = cat.category
    )
  • Sử dụng KHÔNG TỒN TẠI

và một truy vấn con có liên quan

SELECT e.id
     , e.title
     , e.created
     , e.updated
     , e.category
     , e.content
FROM entries e
WHERE NOT EXISTS
    ( SELECT 1
      FROM entries cat
      WHERE cat.id > e.id
        AND e.category = cat.category
    )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tổ chức một loạt các bảng mysql?

  2. Làm thế nào để sao chép một bảng mysql sang một bảng khác trong cakephp?

  3. MySQLi - khai báo biến sau bind_param?

  4. mysql chọn các bản ghi lớn hơn 3 tháng

  5. số mysql vào biến PHP