Tôi có một bảng ("lms_attendance") của người sử dụng check-in và ra lần đó trông như thế này:Chọn hàng với ngày gần đây nhất cho mỗi người dùng
id user time io (enum)
1 9 1370931202 out
2 9 1370931664 out
3 6 1370932128 out
4 12 1370932128 out
5 12 1370933037 in
Tôi đang cố gắng để tạo ra một cái nhìn của bảng này mà có đầu ra chỉ có hồ sơ gần đây nhất cho mỗi người dùng id, trong khi đem lại cho tôi sự "trong" hay giá trị "out", vì vậy cái gì đó như:
id user time io
2 9 1370931664 out
3 6 1370932128 out
5 12 1370933037 in
tôi khá chặt chẽ cho đến nay, nhưng tôi nhận ra rằng lượt xem sẽ không chấp nhận truy vấn phụ, điều này khiến việc này trở nên khó khăn hơn rất nhiều. Truy vấn gần nhất tôi nhận được:
select
`lms_attendance`.`id` AS `id`,
`lms_attendance`.`user` AS `user`,
max(`lms_attendance`.`time`) AS `time`,
`lms_attendance`.`io` AS `io`
from `lms_attendance`
group by
`lms_attendance`.`user`,
`lms_attendance`.`io`
Nhưng những gì tôi nhận được là:
id user time io
3 6 1370932128 out
1 9 1370931664 out
5 12 1370933037 in
4 12 1370932128 out
Đó là gần, nhưng không hoàn hảo. Tôi biết rằng nhóm cuối cùng bởi không nên ở đó, nhưng không có nó, nó trả về thời gian gần đây nhất, nhưng không phải với giá trị IO tương đối của nó.
Bất kỳ ý tưởng nào? Cảm ơn!
bản sao có thể có của [How t o chọn tập hợp các bản ghi ngày gần đây nhất từ một bảng mysql] (http://stackoverflow.com/questions/435703/how-to-select-the-most-recent-set-of-dated-records-from-a -mysql-table) – Barmar
Quay lại hướng dẫn sử dụng. Bạn sẽ thấy rằng nó cung cấp các giải pháp cho vấn đề này cả các truy vấn phụ có và không có (tương quan và không được liên kết). – Strawberry
@Barmar, về mặt kỹ thuật, như tôi đã chỉ ra trong câu trả lời của tôi, đây là bản sao của tất cả 700 câu hỏi với thẻ [tag: greatest-n-per-group]. – TMS