gpt4 book ai didi

mysql - 返回多个用户的唯一记录

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

我正在尝试获取两个日期之间的时间。我有一个包含不同假期、日期时间和用户 ID 的表。有几个不同的假期,但对我来说最重要的是圣诞节和复活节。我希望为每个用户获取从最早记录的假期到最新记录的假期的时间。 (无论是圣诞节还是复活节)

现在我只得到一个用户的结果。我也尝试过“圣诞节”或/和“复活节”等假期,但无法正常工作。

WITH XYZ as(
SELECT userID,
max(dt) as the_oldest,
min(dt) as the_newest,
datediff(max(dt), min(dt))
FROM data
WHERE holiday NOT LIKE 'Halloween')
SELECT * FROM XYZ;

提前致谢!

最佳答案

您必须GROUP BY userID,以便查询将返回每个用户的最大和最小日期。

SELECT userID,
max(dt) as the_newest,
min(dt) as the_oldest,
datediff(max(dt), min(dt))
FROM data
WHERE holiday NOT LIKE 'Halloween'
GROUP BY userID

请注意,max(dt) 将给出最新日期,min(dt) 将给出最旧日期。这与您的查询相反。

关于mysql - 返回多个用户的唯一记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57740708/

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