Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 错误:列无效,因为它不包含在聚合函数或GROUP BY中_Mysql_Sql_Oracle_Tsql_Group By - Fatal编程技术网

Mysql 错误:列无效,因为它不包含在聚合函数或GROUP BY中

Mysql 错误:列无效,因为它不包含在聚合函数或GROUP BY中,mysql,sql,oracle,tsql,group-by,Mysql,Sql,Oracle,Tsql,Group By,我有这样的代码,它工作得很好: select count (CAST(faculty AS NVARCHAR(MAX))) as num from student group by CAST(faculty AS NVARCHAR(MAX)) faculty是一个文本。但是我需要计算一列中的教员数量,因此尝试了以下代码,这会产生错误:“student.faculty”列在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中 我不明白,问题出在哪里,因为同样的方法也适用于

我有这样的代码,它工作得很好:

select count (CAST(faculty AS NVARCHAR(MAX))) as num
from student
group by CAST(faculty AS NVARCHAR(MAX))
faculty
是一个文本。但是我需要计算一列中的教员数量,因此尝试了以下代码,这会产生错误:“student.faculty”列在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中

我不明白,问题出在哪里,因为同样的方法也适用于数字。例如,这个:

select id, count(id)  
from student
group by id
我做错了什么?

试试这个

select count(CAST(faculty AS NVARCHAR(MAX))) as num ,
             CAST(faculty AS NVARCHAR(MAX)) facultys
from student
group by facultys
试试这个

select count(CAST(faculty AS NVARCHAR(MAX))) as num ,
             CAST(faculty AS NVARCHAR(MAX)) facultys
from student
group by facultys
试试这个

select count(CAST(faculty AS NVARCHAR(MAX))) as num ,
             CAST(faculty AS NVARCHAR(MAX)) facultys
from student
group by facultys
试试这个

select count(CAST(faculty AS NVARCHAR(MAX))) as num ,
             CAST(faculty AS NVARCHAR(MAX)) facultys
from student
group by facultys

您之所以会收到错误,是因为您没有按所选的组进行分组。
CAST(作为NVARCHAR(MAX)的能力)
不等于
faculty
。为什么不使用:

select faculty, count (*) as num
from student
group by faculty

您之所以会收到错误,是因为您没有按所选的组进行分组。
CAST(作为NVARCHAR(MAX)的能力)
不等于
faculty
。为什么不使用:

select faculty, count (*) as num
from student
group by faculty

您之所以会收到错误,是因为您没有按所选的组进行分组。
CAST(作为NVARCHAR(MAX)的能力)
不等于
faculty
。为什么不使用:

select faculty, count (*) as num
from student
group by faculty

您之所以会收到错误,是因为您没有按所选的组进行分组。
CAST(作为NVARCHAR(MAX)的能力)
不等于
faculty
。为什么不使用:

select faculty, count (*) as num
from student
group by faculty


因为
CAST(faculty AS NVARCHAR(MAX))
不等于
faculty
是Oracle还是MySQL或TSQL,还是您还没有决定?@notulyses没有区别,我相信是因为
CAST(faculty AS NVARCHAR(MAX))
不等于
faculty
是Oracle还是MySQL或TSQL,还是你还没有决定?@Notulyses没有区别,我相信是因为
CAST(faculty AS NVARCHAR(MAX))
不等于
faculty
是Oracle还是MySQL或TSQL,还是你还没有决定?@Notulyses没有区别,我相信是因为
CAST(学院名称为NVARCHAR(最高))
不等于
faculty
是Oracle还是MySQL或TSQL,还是您还没有决定?@notulyses没有区别,我相信您的代码不会
处理文本,这就是为什么我会出现这样的错误:
文本、ntext和图像数据类型不能进行比较或排序,除非使用的是NULL或LIKE运算符。`但是是的,您的解释是这样的是真的。此代码起作用:
从学生组中按CAST(教员为NVARCHAR(MAX))选择count(CAST(教员为NVARCHAR(MAX))作为num,CAST(教员为NVARCHAR(MAX))作为CAST(教员为NVARCHAR(MAX))
你的代码不能处理文本,这就是为什么我会出现这样的错误:文本、ntext和图像数据类型不能进行比较或排序,除非使用is NULL或LIKE运算符。`但是是的,你的解释是正确的。此代码起作用:
选择count(CAST(faculty AS NVARCHAR(MAX))AS num,CAST(faculty AS NVARCHAR(MAX))从学生分组按CAST(faculty AS NVARCHAR(MAX))
您的代码不能处理文本,这就是为什么我会出现这样的错误:文本、ntext和图像数据类型不能进行比较或排序,除非使用is NULL或LIKE运算符。`但是,您的解释是正确的。此代码工作:
选择计数(faculty AS NVARCHAR(MAX)))作为num,按CAST(教师作为NVARCHAR(MAX))从学生组中进行CAST(教师作为NVARCHAR(MAX))
你的代码不能处理文本,这就是为什么我会出现这样的错误:文本、ntext和图像数据类型不能进行比较或排序,除非使用is NULL或LIKE运算符。`但是是的,你的解释是正确的。此代码起作用:
选择count(CAST(faculty AS NVARCHAR(MAX))AS num,CAST(faculty AS NVARCHAR(MAX))来自CAST学生组(教员为NVARCHAR(MAX))