数据库之SQL(该列没有包含在聚合函数或 GROUP BY 子句中)

博客围绕Group By子句展开,指出使用时若SELECT子句含聚合函数,非聚合表达式属性名应在GROUP BY列表中。介绍了聚合函数是对一组值计算并返回单个值,where子句用于分组前过滤数据,还给出使用Group By子句的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:该列没有包含在聚合函数或group by 子句中。

如果 SELECT 子句 <select list> 中包含聚合函数,则 GROUP BY 将计算每个组的汇总值。指定 GROUP BY 时,选择列表中任何非聚合表达式内的每个属性名都应包含在GROUP BY列表中,或者GROUP BY表达式必须与选择列表表达式完全匹配。


问题一:什么是聚合函数?
聚合函数是对一组值执行计算,并返回单个值。除了count外,聚合函数都会忽略Null值。聚合函数经常与select语句的GROUP BY子句一起使用。
所有聚合函数均为确定性函数。

问题二:where的作用?
where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据。
问题三:解决办法?

使用Group By子句的时候,一定要记住下面的一些规则:
(1)不能Group By非标量基元类型的列,如不能Group By text,image或bit类型的列
(2)Select指定的每一列都应该出现在Group By子句中,除非对这一列使用了聚合函数;
(3)不能Group By在表中不存在的列;
(4)进行分组前可以使用Where子句消除不满足条件的行;
(5)使用Group By子句返回的组没有特定的顺序,可以使用Order By子句指定次序。
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香煎三文鱼

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值