T-SQL核心语句形式:

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 子句中 选择列表中的列无效,因为该列没有包含在聚合函数或相关推荐

  1. 选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

    今天用SQL Server尝试实现一个SQL语句的时候,报了如标题所示的错误,通过在百度里面搜索,并亲自动手实现,终于发现问题所在,现在把它记录下来. 语句如下: select [OrderID],[ ...

  2. 关于因为该列没有包含在聚合函数或 GROUP BY 子句中

    参考:http://blog.csdn.net/wlf535944903/article/details/5576287 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY ...

  3. 选择列表中的列 '.......' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

    错误:消息 8120,级别 16,状态 1,第 51 行 选择列表中的列 'Employee.EmployeeID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中. 题目:查询最低收入 ...

  4. SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中...

    聚合函数:聚合函数就是对一组值进行计算后返回单个值. 包括: COUNT(统计函数): COUNT_BIG(统计函数): SUM(求和函数): AVG(求平均值函数): MAX(最大值函数): MIN ...

  5. SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

    聚合函数:聚合函数就是对一组值进行计算后返回单个值. 包括: COUNT(统计函数): COUNT_BIG(统计函数): SUM(求和函数): AVG(求平均值函数): MAX(最大值函数): MIN ...

  6. 聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含

    聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含 HAVING 子句通常与 GROUP BY 子句一起使用以筛选聚合值结果.但是 HAVING 也可以在不使用 G ...

  7. Java 使用LinkedList模拟KTV点歌系统,首先先添加若干歌曲,如果歌曲列表中已有该歌曲,则不加入,否则追加。`然后选择列表中的其中一首置顶,最后选择列表中一首歌曲前置一位。

    使用LinkedList模拟KTV点歌系统 该系统的任务是执行3个操作:首先先添加若干歌曲,如果歌曲列表中已有该歌曲,则不加入,否则追加.`然后选择列表中的其中一首置顶,最后选择列表中一首歌曲前置一位 ...

  8. 42000[SQL Server]ORDER BY子句中的列无效,该列没有包含在聚合函数或GROUP BY 子句

    [Err] 42000 - [SQL Server]ORDER BY 子句中的列 "t_xxx.inputDate" 无效,因为该列没有包含在聚合函数或 GROUP BY 子 错误 ...

  9. 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式

    当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式. 比如 select * from T_Employee where FNumber not in ( select top 5* ...

最新文章

  1. Spring学习(23)--- AOP之Introductions应用
  2. 自动飞行控制系统_波音737MAX,安全评估竟是自己做的!飞行员仅用iPad学习驾驶!...
  3. Nature科学报告:这项研究,有助于截肢患者可以恢复痛觉感知
  4. Spring Hiernate整合
  5. 加密锁 vs. 云授权
  6. 获取浏览器窗口_全面认识区块链浏览器--看穿币圈的蒙蔽与欺骗!
  7. 使用分发列表过滤BGP路由
  8. Pandas时间差(Timedelta)
  9. WebService调用
  10. 在java中String类为什么要设计成final
  11. 程序员的思维修炼9——超越专家
  12. python读取hive方案分析
  13. idea卸载不干净怎么办_卸载删除面具(Magisk)后,手机不开机怎么办
  14. 低代码发展趋势解读|低代码成为企业数字化转型“加速器”
  15. Unity3D 5.0软件安装教程
  16. matlab函数之saveas 和imwrite
  17. 重臣遭遇中年危机?百度变狼 海龙被辞
  18. 写代码神器,自费送!
  19. “单词不用背,看完自然会”,4天背过2万单词,原来学英语真的有捷径!
  20. 计算机系统概述学后感,计算机操作系统学习心得体会总结(2)

热门文章

  1. JDK7和JDK9流中异常的处理
  2. 创建provider服务
  3. 谷歌浏览器32位版本安装包_Windows 10 OEM渠道告别32位版本 这意味着什么?
  4. C语言基本类型和存储类别
  5. Cortex‐M3-总线接口
  6. spring ioc原理解析
  7. android中ScrollView嵌套ListView或GridView显示位置问题
  8. 用Visual Studio Code Debug世界上最好的语言(Mac篇)
  9. 白瑜庆:知乎基于Kubernetes的kafka平台的设计和实现
  10. 内存映射MMAP和DMA【转】