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

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一个

最新文章

  1. web常见错误提示总结
  2. [No000080]右键解锁增强Chrome插件开发,破除防复制
  3. struts2-(2)HelloWorld
  4. set集合的用法总结(转)
  5. ubuntu 换源
  6. iOS 使用compare 进行对比
  7. Samba 服务器介绍
  8. 最近很火的携程Java 工程师的一道面向对象面试题
  9. Linux下Redis的安装、配置操作说明
  10. Js模块模式
  11. msyql sql语句
  12. 201521123001《Java程序设计》第5周学习总结
  13. Struts2超链接
  14. CNVD-C-2019-48814 漏洞
  15. Android热更新技术——Tinker、nuwa、AndFix、Dexposed
  16. 《DSP using MATLAB》Problem 7.5
  17. 国外程序员整理的C++资源大全
  18. 20155229《网络对抗技术》Exp2:后门原理与实践
  19. Jenkins进阶-远程构建任务(4)
  20. Windows 7 With Sp1 简体中文旗舰版

热门文章

  1. Refresh / Updating a form screen in Oracle D2k Forms 6i
  2. shell 标出输入、标准输出、错误输出
  3. MYSQL写入数据时报错ERROR 1366 (HY000): Incorrect string value: '\xE8\x8B\xB1\xE5\xAF\xB8...' for c 插入中文不能插入
  4. MS16-016 提权EXP
  5. uva 10065 (凸包+求面积)
  6. python_way day21 Django文件上传Form方式提交,原生Ajax提交字符处啊,Django文件上传之原生Ajax方式、jQuery Ajax方式、iframe方式,Django验证码,抽屉示例,
  7. 概念学习(Concept Learning)
  8. Hibernate级联删除时:Cannot delete or update a parent row: a foreign key constraint fails异常
  9. android tablelayout 显示图片
  10. linux使用脚本自动连接数据库