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

php mysql Group By để nhận bản ghi mới nhất, không phải bản ghi đầu tiên

Nếu bạn chọn các thuộc tính không được sử dụng trong mệnh đề nhóm và không phải là tổng hợp, kết quả là không xác định. I.e bạn không biết các thuộc tính khác được chọn từ những hàng nào. (Tiêu chuẩn sql không cho phép các truy vấn như vậy, nhưng MySQL thì thoải mái hơn).

Sau đó, truy vấn phải được viết, ví dụ:như

SELECT post_id, forum_id, topic_id
FROM posts p
WHERE post_time =
  (SELECT max(post_time) FROM posts p2
   WHERE p2.topic_id = p.topic_id
   AND p2.forum_id = p.forum_id)
GROUP BY forum_id, topic_id, post_id
ORDER BY post_time DESC
LIMIT 5;

hoặc

SELECT post_id, forum_id, topic_id FROM posts
NATURAL JOIN
(SELECT forum_id, topic_id, max(post_time) AS post_time
 FROM posts
 GROUP BY forum_id, topic_id) p
ORDER BY post_time
LIMIT 5;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa mysql, mysqladmin, mysqld

  2. Làm cách nào để kiểm tra xem một giá trị đã tồn tại hay chưa để tránh trùng lặp?

  3. mysql không được công nhận là lệnh nội bộ hoặc lệnh bên ngoài, chương trình có thể hoạt động hoặc lô

  4. Phân trang MySQL mà không cần truy vấn kép?

  5. Làm cách nào để lọc (hoặc thay thế) các ký tự unicode chiếm hơn 3 byte trong UTF-8?