SQL group by(分组)、having (过滤)、order by(排序)
【摘要】
名称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)