Tôi có một truy vấn mà hiện một số lượng tham gia và có một vài tiêu chí trong mệnh đề WHERE, và tôi kết thúc với một kết quả mà chủ yếu trông như thế này:nhóm SQL bởi sự cố
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2008-01-01 | different |
| 1 | 2009-01-01 | info |
| 1 | 2010-01-01 | for |
| 2 | 2008-01-01 | each |
| 3 | 2008-01-01 | row |
| 3 | 2009-01-01 | here |
Vì vậy, , về bản chất cho mỗi người dùng, sẽ có một hoặc nhiều ngày trong quá khứ và 0 ngày trở lên trong tương lai.
Tôi cần bằng cách nào đó giảm tập dữ liệu xuống một hàng cho mỗi người dùng, chỉ chọn hàng có ngày được truyền gần đây nhất. Nghĩa là, với bất cứ điều gì kỳ diệu GROUP BY
hoặc HAVING
khoản được thêm vào, kết quả từ ở trên sẽ giống như thế này:
| userId | date | otherData |
|--------+------------+------------|
| 1 | 2009-01-01 | info |
| 2 | 2008-01-01 | each |
| 3 | 2009-01-01 | here |
hoạt động tốt !! nhưng thêm DISTINCT không loại bỏ các giá trị trùng lặp, bất kỳ đề xuất nào? – Rakesh