gpt4 book ai didi

mysql - 按已过去的年份分组

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

我正在尝试运行一个查询,该查询按日期字段对联系人进行分组,然后返回每个分组的计数。如果日期字段为空值,则为一组;如果日期字段为 10+ 年前,则为另一组;如果日期字段为 3-10 年前,则为第三组;如果日期字段为 <3几年前,这是最终的分组。

对此的任何帮助将不胜感激。

最佳答案

您需要在 GROUP 子句中使用 CASE 语句:

SELECT  CASE 
WHEN floor(DATEDIFF(EndDate, StartDate)/365) < 3 THEN '<3'
WHEN floor(DATEDIFF(EndDate, StartDate)/365) < 10 THEN '3-10'
WHEN floor(DATEDIFF(EndDate, StartDate)/365) = 10 THEN '=10'
ELSE '>10'
END AS `Length`
FROM ...
WHERE ...
GROUP BY CASE
WHEN floor(DATEDIFF(EndDate, StartDate)/365) < 3 THEN '<3'
WHEN floor(DATEDIFF(EndDate, StartDate)/365) < 10 THEN '3-10'
WHEN floor(DATEDIFF(EndDate, StartDate)/365) = 10 THEN '=10'
ELSE '>10'
END
ORDER BY Length ASC;

如果您的结束日期是现在,只需使用 NOW()

关于mysql - 按已过去的年份分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48283980/

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