我正在尝试按年龄范围计算人数,我几乎可以解决2个问题:
如果在给定年龄范围内没有人(NULL),则该年龄范围不会出现在结果中.例如,在我的数据中没有"超过80"的条目,因此不会出现日期范围.基本上,当缺少日期范围时,它看起来像编程中的错误.
我想以特定的方式订购结果.在下面的查询中,因为ORDER BY是age_range,'20 - 29'的结果出现在'20岁以下'的结果之前.
这是db表"查询"的示例:
inquiry_id birth_date
1 1960-02-01
2 1962-03-04
3 1970-03-08
4 1980-03-02
5 1990-02-08
Run Code Online (Sandbox Code Playgroud)
这是查询:
SELECT
CASE
WHEN age < 20 THEN 'Under 20'
WHEN age BETWEEN 20 and 29 THEN '20 - 29'
WHEN age BETWEEN 30 and 39 THEN '30 - 39'
WHEN age BETWEEN 40 and 49 THEN '40 - 49'
WHEN age BETWEEN 50 and 59 THEN '50 - 59'
WHEN age BETWEEN 60 and 69 THEN '60 - 69'
WHEN …Run Code Online (Sandbox Code Playgroud) mysql ×1