gpt4 book ai didi

mysql - SQL 按给定出生日期的年龄对客户进行分组

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

我正在尝试编写一个 SQL 脚本,仅根据出生日期按年龄类别(0 - 10、11 - 20、21 - 30...111 - 120)对客户进行分组。我知道这将涉及 datediff,因为我无法理解它。我的数据库的ER图如下,您可以在personal_details表中找到生日。非常感谢所有帮助!!

enter image description here

最佳答案

最好的方法可能是根据您的年龄类别制作一个表格并进行连接

SELECT *
FROM Personal_details p
INNER JOIN age_categories ac
ON TIMESTAMPDIFF(YEAR, p.birthday, CURDATE())
BETWEEN ac.age_min AND ac.age_max
<小时/>

另一种方法是 CASE但不像真实的表格那么清晰,您可以更新以创建新的年龄类别...(0-18;18-30;...)

对于 CASE 版本:

SELECT *,
CASE
WHEN TIMESTAMPDIFF(YEAR, p.birthday, CURDATE())
BETWEEN 0 AND 10 THEN '0-10'
WHEN TIMESTAMPDIFF(YEAR, p.birthday, CURDATE())
BETWEEN 11 AND 20 THEN '11-20'
-- ...
END AS age_categorie

FROM Personal_details p

关于mysql - SQL 按给定出生日期的年龄对客户进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47463251/

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