作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个 SQL 脚本,仅根据出生日期按年龄类别(0 - 10、11 - 20、21 - 30...111 - 120)对客户进行分组。我知道这将涉及 datediff,因为我无法理解它。我的数据库的ER图如下,您可以在personal_details表中找到生日。非常感谢所有帮助!!
最佳答案
最好的方法可能是根据您的年龄类别制作一个表格并进行连接
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/
抱歉我的英语不好......我尝试使用 Google Apps 脚本 - 通讯录服务读取通讯录中的信息。 姓名、电子邮件、地址、电话没有问题,但我无法读取日期(我想获取联系人的出生日期)。如何读取“日
我有一个包含字段生日(DATE) 的用户表。 目前,我像这样选择生日在当前日期之前或之后 7 天内的用户: SELECT * FROM users WHERE DATE_FORMAT(birt
我是一名优秀的程序员,十分优秀!