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

GROUP BY có MAX ngày

Đặt truy vấn con trong mệnh đề WHERE và giới hạn nó ở n.control_number có nghĩa là nó chạy truy vấn con nhiều lần. Đây được gọi là truy vấn con tương quan và nó thường là một kẻ giết chết hiệu suất.

Tốt hơn nên chạy truy vấn con một lần, trong mệnh đề FROM, để nhận ngày tối đa cho mỗi số kiểm soát.

SELECT n.* 
FROM tblpm n 
INNER JOIN (
  SELECT control_number, MAX(date_updated) AS date_updated
  FROM tblpm GROUP BY control_number
) AS max USING (control_number, date_updated);


  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 thế nào để lưu trữ các ký tự không phải tiếng Anh?

  2. MySQL 'user_id' trong đó mệnh đề là vấn đề không rõ ràng

  3. Tại sao sử dụng MySQL trên tập tin phẳng?

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

  5. Cách cài đặt MySQL 8 trên Ubuntu