我在用PostgreSQL。我想数一数:
where gender='M'
where gender='F'我只能执行先生已婚和先生未婚或女士结婚和女士未婚where gender=?,但我无法执行以下整个查询。所以,谁能给我更正一下下面的代码。
SELECT COUNT(CASE
WHEN married = 'M' THEN
1
END) AS gentlemen_married WHERE gender = 'M',
COUNT(CASE
WHEN married = 'U' THEN
1
END) AS gentlemen_unmarried WHERE gender = 'M',
COUNT(CASE
WHEN married = 'M' THEN
1
END) AS ladies_married WHERE gender = 'F',
COUNT(CASE
WHEN married = 'U' THEN
1
END) AS ladies_unmarried WHERE gender = 'F',
COUNT(*) AS married_COUNT WHERE married = 'M',
COUNT(*) AS unmarried_COUNT WHERE married = 'U'
FROM station
WHERE group = 'abc';发布于 2021-12-21 06:07:34
我尝试过许多方法,最后,下面的代码适用于我:
SELECT Sum(CASE
WHEN married = 'M'
AND gender = 'M' THEN 1
ELSE 0
END) AS gentlemen_married,
Sum(CASE
WHEN married = 'U'
AND gender = 'M' THEN 1
ELSE 0
END) AS gentlemen_unmarried,
Sum(CASE
WHEN married = 'M'
AND gender = 'F' THEN 1
ELSE 0
END) AS ladies_married,
Sum(CASE
WHEN married = 'U'
AND gender = 'F' THEN 1
ELSE 0
END) AS ladies_unmarried,
Sum(CASE
WHEN married = 'M' THEN 1
ELSE 0
END) AS married_count,
Sum(CASE
WHEN married = 'U' THEN 1
ELSE 0
END) AS unmarried_count
FROM station
WHERE rrcode = 'abc'; https://stackoverflow.com/questions/70431186
复制相似问题