我正在使用以下查询返回所有存储的用户出生日期的年龄(以年为单位)。如果我基本能够计算年龄,那么我就可以生成一份报告。该查询是矮胖的,因此使我很难理解我会怎么做,特别是因为聚合函数不能被分配别名。从存储的DOB中推导出的某个年龄的返回人数
Select
DateDiff(YEAR, dob, CURRENT_TIMESTAMP) -
CASE WHEN
DATEADD(year,DateDiff(YEAR, dob, CURRENT_TIMESTAMP),CURRENT_TIMESTAMP)
> CURRENT_TIMESTAMP
THEN 1
ELSE 0 END as ageYears
from [database].[dbo].[users]
使用distinct
关键字我可以返回年龄组,而不是实例,但我怎么会加入这些用count
?
这个输出将是理想的:
age | numUsers
18 | 1
19 | 3
20 | 7
21 | 1
22 | 9
23 | 2
打倒我吧。好工作。 –