我想在下面给出的名为Gender的表中计算男性和女性的数量。答案应该是女性= 2男性= 3计数。 SQL中是否有任何查询。
Gender
MALE
MaLE
FEMALE
Female
答案 0 :(得分:2)
SELECT SUM(CASE WHEN Gender = 'male' THEN 1 ELSE 0 END) as Male_count,
SUM(CASE WHEN Gender = 'Female' THEN 1 ELSE 0 END) as Female_count
FROM some_unknown_table
正如nightfox79所提到的,如果您的默认排序规则区分大小写,您可能应该对文本进行转换以确保它匹配。 所以,使用这个
UPPER(GENDER) = 'MALE'
UPPER(GENDER) = 'FEMALE'
旁注:我认为你应该按照这种格式使用tinyint列作为性别,正如Damien所说。 https://en.wikipedia.org/wiki/ISO/IEC_5218
答案 1 :(得分:1)
请试试这个: -
Select count(CASE WHEN Gender = 'male' THEN 1 ELSE 0 END) as Male_count,
count(CASE WHEN Gender = 'Female' THEN 1 ELSE 0 END) as Female_count
FROM your_table
答案 2 :(得分:0)
SELECT UPPER([Gender]),count(*)
FROM [test].[dbo].[TableName] group by UPPER([Gender])