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

Các bài đăng theo thứ tự MySQL theo nhận xét gần đây nhất HOẶC đăng lần cuối

Điều này nên làm điều đó:

SELECT p.id
FROM post p
    LEFT JOIN comment c on c.post_id = p.id
GROUP BY p.id
ORDER BY COALESCE(GREATEST(p.created, MAX(c.created)), p.created) DESC

Nếu chúng tôi giả định rằng một nhận xét luôn cũ hơn bài đăng, chúng tôi có thể đơn giản hóa:

SELECT p.id
FROM post p
    LEFT JOIN comment c on c.post_id = p.id
GROUP BY p.id
ORDER BY COALESCE(MAX(c.created), p.created) DESC



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SUM (truy vấn con) trong MYSQL

  2. Xếp hạng với hàng triệu mục nhập

  3. MySQL:Sự khác biệt giữa float và double là gì?

  4. Foreach chèn số lượng lớn PHP

  5. Có tùy chọn / tính năng MySQL để theo dõi lịch sử các thay đổi đối với bản ghi không?