大家好,这是我第一次发布我的问题,请祝我好运, 我在显示按年龄分组的数据时遇到了问题,这是我的疑问
SELECT
CASE WHEN age BETWEEN 0 AND 18 OR age IS NULL THEN '0-18'
WHEN age BETWEEN 19 AND 30 THEN '19-30'
WHEN age BETWEEN 31 AND 35 THEN '31-35'
WHEN age BETWEEN 36 AND 50 THEN '36-50'
WHEN age BETWEEN 51 AND 100 THEN '50+'
END AS age_group,
COALESCE(COUNT(*), 0) AS count
FROM patient_registration
GROUP BY age_group;
我试图运行上面的查询来显示数据,因为你可以看到上面的查询执行没有任何错误,但我需要一个年龄组的解决方案,其中的计数是0的例如.
我没有0到18岁的记录,它没有显示在输出中,但我想这样显示记录
age_group | count |
---|---|
0-18 | 0 |
19-30 | 192 |
31-35 | 83 |
36-50 | 223 |
50+ | 222 |
如果案子不能令人满意,我想给你看0号.
以下是我到目前为止try 过的:
SELECT
CASE
WHEN age BETWEEN 0 AND 18 OR age COUNT is NULL THEN '0-18'
WHEN age BETWEEN 19 AND 30 THEN '19-30'
WHEN age BETWEEN 31 AND 35 THEN '31-35'
WHEN age BETWEEN 36 AND 50 THEN '36-50'
WHEN age BETWEEN 51 AND 100 THEN '50+'
END AS age_group,
COALESCE(COUNT(*), NULL) AS count
FROM patient_registration
GROUP BY age_group;
有没有其他方法可以让我试一试?