group by,order by, having的使用

1. group by

group by按照查询结果集中的某一列(或多列),进行分组,值相等的为一组。
比如原始表

table1.png

select 类别, sum(数量) as 数量之和
from A
group by 类别
返回结果:
table2.png

2.order by

使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC;降序:DESC;默认为升序)。

select 类别, sum(数量) AS 数量之和
from A
group by 类别
order by sum(数量) desc


table3.png

3. group by all

select 类别, 摘要, sum(数量) as 数量之和
from A
group by all 类别, 摘要

结果的表中就会出现三列

4.having 和 where 的区别

Where是一个约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面不能使用聚合函数。

Having是一个过滤声明,所谓过滤是在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用聚合函数。

所谓聚合函数,是对一组值进行计算并且返回单一值的函数:sum---求和,count---计数,max---最大值,avg---平均值等。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这一篇最主要是记录下命令,方便以后查找 使用Mysql 创建数据库 create database mysql_t...
    Treehl阅读 3,720评论 0 0
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 5,031评论 0 7
  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 4,839评论 0 0
  • 关系型数据库和SQL SQL语言的三个部分DML:Data Manipulation Language,数据操纵语...
    Awey阅读 5,987评论 0 13
  • 函数的定义 声明一个函数没有返回值 省略 [: 返回值类型] 使用 :Unit 指定没有返回值 函数的作...
    凌烟醉卧阅读 3,599评论 0 1

友情链接更多精彩内容