我是 SQL 初学者。我需要总结性别列。我的意思是表中有多少男性和多少女性。这就是我尝试过的。
SELECT
SUM(CASE WHEN Gender='Female' THEN Gender ELSE 'Null' END)Gender,
SUM(CASE WHEN Gender='Male' THEN Gender ELSE 'Null' END)Gender
FROM EmployeeDetails;
我收到此错误: 消息 8117,16 级,状态 1,第 2 行 操作数数据类型 nvarchar 对于求和运算符无效。
所以我尝试了以下查询:
Select length(Gender) - length(replace(Gender, ' ', '')) + 1 NumbofWords
来自员工详细信息
它显示为长度不是一个公认的内置函数。 任何帮助将不胜感激。 提前致谢。
最佳答案
SUM + CASE
可以使用,但您需要对数字进行求和,例如:
SELECT
SUM(CASE WHEN Gender='Female' THEN 1 ELSE 0 END) AS [FemaleNumber],
SUM(CASE WHEN Gender='Male' THEN 1 ELSE 0 END) AS [MaleNumber]
FROM EmployeeDetails;
SQL Server 2012+
SELECT
SUM(IIF(Gender='Female', 1, 0)) AS [FemaleNumber],
SUM(IIF(Gender='Male', 1, 0)) AS [MaleNumber]
FROM EmployeeDetails;
关于mysql - 如何在 SQL 中对 varchar 列求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32495292/