我在查询时遇到了麻烦。
SELECT * FROM YourTable AS T1
INNER JOIN
(SELECT user_id , MIN(some_timestamp) AS some_timestamp FROM YourTable
GROUP BY user_id) AS T2
ON T1.User_Id = T2.User_Id AND T1.some_timestamp = T2.some_timestamp
WHERE Some_Timestamp BETWEEN '13-Jun-12 08:00' AND '13-Jun-12 10:00'
表名称:YourTable
| PK_ID | USER_ID | SOME_TIMESTAMP |
------------------------------------|
| 1 | 123 | 13-Jun-12 14:30 |
| 2 | 123 | 13-Jun-12 08:50 |
| 3 | 567 | 13-Jun-12 09:23 |
| 4 | 567 | 13-Jun-12 09:45 |
| 5 | 567 | 13-Jun-12 09:40 |
| 6 | 890 | 13-Jun-12 08:44 |
我想要得到的是这样
1. 从 [13-Jun-12 08:00] 和 [13-Jun-12 10:00] 之间的特定日期范围获取数据
2. 一旦获取范围内的日期,它将获取没有重复的最新日期。
输出应该是这样的:
1.date range between
[13-Jun-12 08:00] & [13-Jun-12 10:00]
2. 只获取最新的时间戳,不重复。
结果应该是这样的
| PK_ID | USER_ID | SOME_TIMESTAMP |
------------------------------------|
| 2 | 123 | 13-Jun-12 08:50 |
| 4 | 567 | 13-Jun-12 09:45 |
| 6 | 890 | 13-Jun-12 08:44 |
非常感谢大家!