我有这样的代码,可以正常工作:
select count (CAST(faculty AS NVARCHAR(MAX))) as num
from student
group by CAST(faculty AS NVARCHAR(MAX))
faculty
是文本。但是我需要计算一列中的教职员工数量,因此尝试了以下代码,该错误产生了错误:选择列表中的列“ student.faculty”无效,因为它既不包含在聚合函数中也不包含在GROUP BY子句中。select faculty, count (CAST(faculty AS NVARCHAR(MAX))) as num
from student
group by CAST(faculty AS NVARCHAR(MAX))
我不明白问题出在哪里,因为相同的方法可以很好地处理数字。例如这个:
select id, count(id)
from student
group by id
我究竟做错了什么?
最佳答案
您收到错误消息是因为您没有按选择的分组。CAST(faculty AS NVARCHAR(MAX))
不等于faculty
。为什么不使用:
select faculty, count (*) as num
from student
group by faculty
关于mysql - 错误:列无效,因为该列未包含在聚合函数或GROUP BY中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24312153/