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

Truy xuất bản ghi cuối cùng thứ hai cho mỗi người dùng từ cơ sở dữ liệu

Bạn có thể thử điều đó, nó hơi dài dòng nhưng nó hoạt động:

SELECT
  name,
  max(Updated_on) as Updated_on,
  STATUS
FROM userstatus a
  WHERE (name, Updated_on) not in
  (select name, max(Updated_on) FROM userstatus group by name)
group by name, status
HAVING UPDATED_ON =
  (SELECT MAX(UPDATED_ON) FROM userstatus b where a.name = b.name
   and (b.name, b.Updated_on) not in
  (select name, max(Updated_on) FROM userstatus group by name)
  group by name);

Sqlfiddle



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tham gia SQL trợ giúp cho danh sách bạn bè

  2. Cài đặt Trình điều khiển JDBC MySQL trong Tích hợp dữ liệu Pentaho và các công cụ Máy chủ BA

  3. Tôi có nên tạo một bảng mới trong cơ sở dữ liệu của mình cho việc này không?

  4. Truy vấn MySQL để gán một số ngẫu nhiên duy nhất cho mỗi hàng

  5. Sự khác biệt trong MySQL JOIN so với LEFT JOIN