GROUP BY 子句中 选择列表中的列无效,因为该列没有包含在聚合函数或
SELECT --指定要选择的列或行及其限定
[INTO ] --INTO子句,指定结果存入新表
FROM --FROM子句,指定表或视图
[WHERE ] --WHERE子句,指定查询条件
[GROUP BY ] --GROUP BY子句,指定分组表达式
[HAVING ] --HAVING子句,指定分组统计条件
[ORDER BY [ASC|DESC]] --ORDER子句,指定排序表达式和顺序
聚合函数:
COUNT:求组中项数,返回int类型整数。
GROUP BY 子句:指定用来放置输出行的组。指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。如果 SELECT 子句中包含聚合函数,则计算每组的汇总值。
示例一(Select选择列表中存在聚合函数):
错误的写法:
SELECT U_ID,House_Addrinfo,COUNT(U_ID) AS CX
FROM YX_ChuShou
GROUP BY U_ID
ORDER BY CX DESC
这条语句出现"选择列表中的列 'YX_ChuShou.House_Addrinfo' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。"的错误提示。
正确的写法:
SELECT U_ID,min(House_Addrinfo), COUNT(U_ID) AS CX
FROM YX_ChuShou
GROUP BY U_ID
ORDER BY CX DESC
或
SELECT U_ID,House_Addrinfo, COUNT(U_ID) AS CX
FROM YX_ChuShou
GROUP BY U_ID ,House_Addrinfo
ORDER BY CX DESC
示例二(Select选择列表中不存在聚合函数):
错误的写法:
select au_fname,au_lname,zip, city,state
from authors
group by city
服务器: 消息 8120,级别 16,状态 1,行 1
列 'authors.au_fname' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'authors.au_lname' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
正确的写法:
select au_fname,au_lname,zip, city,state
from authors
group by city,au_lname,au_fname,zip,state
或:
select au_fname,au_lname,zip, city,state
from authors
order by city ---使用order by 子句进行排序
即指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。
小白:因为结果是一个表,所以一般不会出现 select *,sum(job_id)这么写的,不然sum就一个值,你让它跟谁并列显示一行去?
如果 select job_id,job_desc,sum(max_lvl) from jobs group by jobs.job_id,job_desc
非要并列显示点什么,那对应列都应写在group by里,确保该列一个值就出现一次, 一个值对应一个sum
有一个列就加进group by一个
GROUP BY 子句中 选择列表中的列无效,因为该列没有包含在聚合函数或相关推荐
- 选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
今天用SQL Server尝试实现一个SQL语句的时候,报了如标题所示的错误,通过在百度里面搜索,并亲自动手实现,终于发现问题所在,现在把它记录下来. 语句如下: select [OrderID],[ ...
- 关于因为该列没有包含在聚合函数或 GROUP BY 子句中
参考:http://blog.csdn.net/wlf535944903/article/details/5576287 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY ...
- 选择列表中的列 '.......' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
错误:消息 8120,级别 16,状态 1,第 51 行 选择列表中的列 'Employee.EmployeeID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中. 题目:查询最低收入 ...
- SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中...
聚合函数:聚合函数就是对一组值进行计算后返回单个值. 包括: COUNT(统计函数): COUNT_BIG(统计函数): SUM(求和函数): AVG(求平均值函数): MAX(最大值函数): MIN ...
- SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
聚合函数:聚合函数就是对一组值进行计算后返回单个值. 包括: COUNT(统计函数): COUNT_BIG(统计函数): SUM(求和函数): AVG(求平均值函数): MAX(最大值函数): MIN ...
- 聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含
聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含 HAVING 子句通常与 GROUP BY 子句一起使用以筛选聚合值结果.但是 HAVING 也可以在不使用 G ...
- Java 使用LinkedList模拟KTV点歌系统,首先先添加若干歌曲,如果歌曲列表中已有该歌曲,则不加入,否则追加。`然后选择列表中的其中一首置顶,最后选择列表中一首歌曲前置一位。
使用LinkedList模拟KTV点歌系统 该系统的任务是执行3个操作:首先先添加若干歌曲,如果歌曲列表中已有该歌曲,则不加入,否则追加.`然后选择列表中的其中一首置顶,最后选择列表中一首歌曲前置一位 ...
- 42000[SQL Server]ORDER BY子句中的列无效,该列没有包含在聚合函数或GROUP BY 子句
[Err] 42000 - [SQL Server]ORDER BY 子句中的列 "t_xxx.inputDate" 无效,因为该列没有包含在聚合函数或 GROUP BY 子 错误 ...
- 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式
当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式. 比如 select * from T_Employee where FNumber not in ( select top 5* ...
最新文章
- Spring学习(23)--- AOP之Introductions应用
- 自动飞行控制系统_波音737MAX,安全评估竟是自己做的!飞行员仅用iPad学习驾驶!...
- Nature科学报告:这项研究,有助于截肢患者可以恢复痛觉感知
- Spring Hiernate整合
- 加密锁 vs. 云授权
- 获取浏览器窗口_全面认识区块链浏览器--看穿币圈的蒙蔽与欺骗!
- 使用分发列表过滤BGP路由
- Pandas时间差(Timedelta)
- WebService调用
- 在java中String类为什么要设计成final
- 程序员的思维修炼9——超越专家
- python读取hive方案分析
- idea卸载不干净怎么办_卸载删除面具(Magisk)后,手机不开机怎么办
- 低代码发展趋势解读|低代码成为企业数字化转型“加速器”
- Unity3D 5.0软件安装教程
- matlab函数之saveas 和imwrite
- 重臣遭遇中年危机?百度变狼 海龙被辞
- 写代码神器,自费送!
- “单词不用背,看完自然会”,4天背过2万单词,原来学英语真的有捷径!
- 计算机系统概述学后感,计算机操作系统学习心得体会总结(2)