【发布时间】:2021-11-19 10:05:50
【问题描述】:
我有一个包含用户的表用户和一个包含他们年龄的年龄列。
| Name | Age |
|---|---|
| User1 | 19 |
| User2 | 25 |
| User3 | 75 |
我想显示他们的年龄并计算它。 但我不想具体计算每个年龄。我想在这样的年龄组中这样做:
| Age group | Count |
|---|---|
| <18 | 5 |
| 19-34 | 2 |
| >75 | 2 |
我该怎么做?
【问题讨论】:
-
您可以使用 CASE 为您需要的每个年龄段获取一个数字,然后按该数字分组。
-
提示:
CASE WHEN AGE < 18 THEN ... WHEN Age < 35 THEN ... ELSE ... END -
旁注:将年龄存储在数据库中很愚蠢,您必须每年更新一次
标签: sql sql-server select group-by count