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

Nhận ngày mới nhất từ ​​dữ liệu MySQL được nhóm

Bạn đang tìm kiếm ngày tối đa cho từng kiểu máy?

SELECT model, max(date) FROM doc
GROUP BY model

Nếu bạn đang tìm kiếm tất cả các mô hình khớp với ngày tối đa của toàn bộ bảng ...

SELECT model, date FROM doc
WHERE date IN (SELECT max(date) FROM doc)

[--- Đã thêm ---]

Đối với những người muốn hiển thị chi tiết từ mọi bản ghi khớp với ngày mới nhất trong mỗi nhóm mô hình (không phải dữ liệu tóm tắt, như được yêu cầu trong OP):

SELECT d.model, d.date, d.color, d.etc FROM doc d
WHERE d.date IN (SELECT max(d2.date) FROM doc d2 WHERE d2.model=d.model)

MySQL 8.0 và mới hơn hỗ trợ OVER , tạo ra cùng một kết quả nhanh hơn một chút cho các tập dữ liệu lớn hơn.

SELECT model, date, color, etc FROM (SELECT model, date, color, etc, 
  max(date) OVER (PARTITION BY model) max_date FROM doc) predoc 
WHERE date=max_date;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dấu gạch nối trong tên cột trong MySQL DB

  2. Tính tổng các giá trị của mảng nhiều chiều theo khóa không có vòng lặp

  3. Cách khắc phục:Không tìm thấy trình điều khiển phù hợp cho lỗi jdbc:mysql:// localhost / dbname khi sử dụng pool?

  4. Làm cách nào để lấy ID của hàng cập nhật cuối cùng trong MySQL?

  5. Làm cách nào để lấy kích thước của các bảng trong cơ sở dữ liệu MySQL?