SQL group by(分组)、having (过滤)、order by(排序)

举报
孙中明 发表于 2022/01/22 22:15:57 2022/01/22
【摘要】 名称group by(分组)having (过滤)order by(排序)概念group by 从英文里理解就是分组。必须有 “聚合函数” 来配合才能使用,使用时至少需要一个分组标志字段。使用 group...
名称 group by(分组) having (过滤) order by(排序)
概念 group by 从英文里理解就是分组。必须有 “聚合函数” 来配合才能使用,使用时至少需要一个分组标志字段。使用 group by 的目的就是要将数据分类汇总 特殊的 where 。其功能差不多,只不过他是在分完组之后**,再对分组数据进行过滤。**having 只能用在 group by 之后 order by 从英文里理解就是行的排序方式,默认的为升序。降序 descorder by 后面必须列出排序的字段名,还可以采用多个字段排序,需要用”,” 把字段隔开,如果根据第一个字段排序重复了,会根据第二个字段排序。
注意 因为该列没有包含在聚合函数或 GROUP BY 子句中。这就是我们需要注意的一点,如果在返回集字段中,这些字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中 having 只能用于 group by 子句【在其之后】、作用于组内,having 条件子句可以直接跟函数表达式。
区别 group by 先于 order by where 不能使用聚合函数,但是 where 和 Group by 可同时出现,先限制条件后分组
其他 注意:聚合函数是 —sum()、count()、avg()、min()、max() 等都是 “聚合函数”

SQL 执行顺序

from – > join – > on – >where – >group by – > avg,sum – > having – > select – > distinct – > order by-- > limit,top

文章来源: hiszm.blog.csdn.net,作者:孙中明,版权归原作者所有,如需转载,请联系作者。

原文链接:hiszm.blog.csdn.net/article/details/118890807

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。