【发布时间】:2014-05-16 18:45:07
【问题描述】:
我有一个 sql 表,用于存储人们的详细信息,即 id、姓名、DoB、registration_date 和地址。我想计算每个人的年龄,然后将他们分成以下范围:20-30、31-50、51 岁及以上。
我知道我可以通过以下方式获取年龄:(https://stackoverflow.com/a/1572257/3045800)
SELECT FLOOR((CAST (GetDate() AS INTEGER) - CAST(Date_of_birth AS INTEGER)) / 365.25) AS Age
我只需要弄清楚如何将所有人分组到各自的范围内。
感谢您的帮助
【问题讨论】:
-
1) MySQL 还是 SQL SERVER? 2)你真的是要对这些人进行分组(例如计算他们)吗?还是您只想添加一列说明他们所在的组?
-
您应该信任一个可以将日期转换为整数的 dbms 吗?
-
@JakubKania 我正在使用 MySQL,但我只是想了解它背后的想法,而不是真正的语法。而且,是的,我想对它们进行计数,然后显然将它们显示在不同的分组中。谢谢
标签: mysql sql sql-server