gpt4 book ai didi

php - SQL查询帮助请求

转载 作者:行者123 更新时间:2023-11-29 03:11:05 26 4
gpt4 key购买 nike

user table
.--------------------------------.
| userid| val | Create_Date |
.--------------------------------.
| U1 | foo | 2011-05-01 |
| U1 | foo | 2011-11-18 |
| | | |
| U2 | foo | 2011-11-18 |
| U2 | foo | 2011-11-28 |
| | | |
| U3 | foo | 2011-04-11 |
| U3 | foo | 2011-11-04 |
| | | |
| U4 | foo | 2011-11-21 |
| U4 | foo | 2011-11-28 |
.________________________________.

我有一张类似于上面的表格。我需要获取的是最新的记录,并确保最新的记录与当前日期相差5天以上。

例如,当前日期是2011-11-29

SQL语句的输出应该是

.--------------------------------.
| userid| val | Create_Date |
.--------------------------------.
| U3 | foo | 2011-11-04 |
| U1 | foo | 2011-11-18 |
.________________________________.

我当前的 SQL 可以获取最新记录,但无法与最新日期进行比较。

请帮我调试。谢谢。

SELECT * FROM user_table t1
WHERE DATEDIFF(NOW(), (SELECT MAX(create_date)
FROM user_table t2
WHERE t2.userid = t1.userid)) > 5

提前致谢。

最佳答案

您可以使用子查询过滤掉每个用户的旧记录。然后您可以使用 where 条件来要求最新记录超过五天。

select  *
from UserTable u
join (
select userid
, max(Create_Date) as LatestCreateDate
from YourTable
group by
userid
) filter
on filter.userid = u.userid
and filter.LatestCreateDate = u.Create_Date
where datediff(now(), u.Create_Date) > 5

关于php - SQL查询帮助请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8311997/

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