SELECT CASE WHEN age IS NULL THEN 'Unspecified'
WHEN age < 18 THEN '<18'
WHEN age >= 18 AND age <= 24 THEN '18-24'
WHEN age >= 25 AND age <= 30 THEN '25-30'
WHEN age >= 31 AND age <= 40 THEN '31-40'
WHEN age > 40 THEN '>40'
END AS ageband,
COUNT(*)
FROM (SELECT age
FROM table) t
GROUP BY ageband
这是我的查询。这些是结果:
但是,如果 table.age 在一个类别中没有至少 1 个年龄,它将完全忽略结果中的这种情况。像这样:
该数据集没有任何年龄 < 18 的记录。因此年龄带“<18”不显示。我怎样才能使它显示并返回值0?