gpt4 book ai didi

mysql - 在没有重复 MYSQL 的情况下获取日期范围内的最大数据

转载 作者:行者123 更新时间:2023-11-29 01:30:18 24 4
gpt4 key购买 nike

我在查询时遇到了问题。

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'

表名:你的表


| 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 |

非常感谢大家!

最佳答案

SELECT 
pk_id,
user_id,
MAX(some_timestamp)
FROM
your_table
WHERE
some_timestamp>= '13-Jun-12 08:00'
AND some_timestamp<= '13-Jun-12 10:00'
GROUP BY
user_id
ORDER BY
pk_id ASC

SQL Fiddle

关于mysql - 在没有重复 MYSQL 的情况下获取日期范围内的最大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15672754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com