【发布时间】:2013-03-28 01:40:12
【问题描述】:
我在查询时遇到了麻烦。
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.日期范围
[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 |
非常感谢大家!
【问题讨论】:
标签: mysql sql group-by between