表是 patient.birthdate 和 patient.sex 我无法创建新表。
大家好,我的查询试图按性别和年龄范围列出患者。我目前有这个。
SELECT CASE
WHEN patient.birthdate > '01-jan-1988' THEN '1-25'
WHEN patient.birthdate > '01-jan-1963' THEN '25-50'
WHEN patient.birthdate > '01-jan-1938' THEN '50-75'
ELSE '75+'
END AS Age_Range,
COUNT(patient.sex) AS "M",
(SELECT COUNT(patient.sex) FROM patient WHERE patient.sex = 'F' ) AS "F"
FROM patient
WHERE patient.sex = 'M'
GROUP BY CASE
WHEN patient.birthdate > '01-jan-1988' THEN '1-25'
WHEN patient.birthdate > '01-jan-1963' THEN '25-50'
WHEN patient.birthdate > '01-jan-1938' THEN '50-75'
ELSE '75+'
END
ORDER BY Age_Range;
这是我的输出正确地对男性进行分组和计数,但对于女性,我在每个年龄范围(3538)中得到相同的数字,即女性患者的总数。