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

SQL Hiển thị bản ghi gần đây nhất trong GROUP BY?

Bắt đầu với điều này:

select StudentId, max(DateApproved) 
from tbl
group by StudentId

Sau đó tích hợp nó vào truy vấn chính:

select * 
from tbl
where (StudentId, DateApproved) in

(
  select StudentId, max(DateApproved) 
  from tbl
  group by StudentId
)

Bạn cũng có thể sử dụng cái này:

select * 
from tbl
join (select StudentId, max(DateApproved) as DateApproved 
      from tbl 
      group by StudentId)
using (StudentId, DateApproved)

Nhưng tôi thích thử nghiệm tuple hơn, đó là cách gọn gàng hơn

Kiểm tra trực tiếp: http://www.sqlfiddle.com/#!2/771b8/ 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. MySQL / SQL truy xuất 40 ký tự đầu tiên của một trường văn bản?

  2. Ngày từ excel thay đổi khi được tải lên mysql

  3. Tải lên hình ảnh trong CKEditor mà không cần sử dụng plugin

  4. Làm cách nào để chuyển đổi giây (hoặc mili giây) thành dấu thời gian (hoặc chỉ một chuỗi giống như ngày tháng) trong mySql

  5. MySQL hoạt động với 127.0.0.1 nhưng không hoạt động với localhost?