我有一个动物的性别和笼子的数据库,没有他们被关在里面。我想数一下每个笼子里的雌雄数量。
Animal CageNo Sex
Dog2 01 M
Dog1 01 F
Cat1 03 FSELECT cageno, COUNT(sex) AS 'Female'
FROM animal
WHERE sex='F'
GROUP BY cageno我想要一个列与CageNo,在笼子里的雌性计数,在笼子里的雄性计数,例如。
CageNo Female Male
01 1 1
03 1 0发布于 2019-08-07 09:58:27
您可以使用条件聚合:
SELECT cageno,
SUM(CASE WHEN sex = 'F' THEN 1 ELSE 0 END) AS Female,
SUM(CASE WHEN sex = 'M' THEN 1 ELSE 0 END) AS Male
FROM animal
GROUP BY cageno;应仅对字符串和日期常量使用单引号。您不需要转义这些名称。如果这样做,请为您的数据库使用适当的转义字符(双引号、反标记或方括号)。
https://stackoverflow.com/questions/57386027
复制相似问题