GROUP BY和HAVING用法介绍

GROUP BY和HAVING用法介绍一、groupby和having1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有groupby中包含的列2、having必须和groupby一起用,且在groupby后面3、groupby、having、orderby的使用顺序:groupby、having、orderbySELECT*|字段列表[as别名]FROM表名[WHERE子句][GROUPBY子句][HAVING子句][ORDERBY子句][LIMIT…

大家好,又见面了,我是你们的朋友全栈君。

一、group by 和 having

1、满足“SELECT子句中的列名必须为分组列或列函数”,因为SELECT有group by中包含的列

2、having必须和group by一起用,且在group by后面

3、group by、having、order by的使用顺序:group by 、having、order by

SELECT *|字段列表 [as 别名] FROM 表名 [WHERE 子句] [GROUP BY 子句][HAVING 子句][ORDER BY 子句][LIMIT 子句]

4、having是在分好组后找出特定的分组,通常是以筛选聚合函数的结果,如sum(a) > 100等,使用了having必须使用group by,但是使用group by 不一定使用having。

5、分组函数常用到的聚合函数:

MIN 最小值

MAX 最大值

SUM 求和

AVG 求平均

COUNT 计数

不允许使用双重聚合函数,所以在对分组进行筛选的时候,可以用order by 排序,然后用limit也可以找到极值。

二、where/having区别

子名 作用
where 子句

1) 对查询结果进行分组前,将不符合 where 条件的行去掉,即在分组之前过滤数据,即先过滤再分组。
2) where 后面不可以使用聚合函数

3) 过滤行

having 子句

1) having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。

2) having 后面可以使用聚合函数

3) 过滤组

4) 支持所有WHERE操作符

三、limit用法

LIMIT offset,length;

offset:起始行数,从 0 开始计数,如果省略,默认就是 0

length: 返回的行数

查询学生表中数据,从第 3 条开始显示,显示 6 条。

select * from student3 limit 2,6

分页:比如我们登录京东,淘宝,返回的商品信息可能有几万条,不是一次全部显示出来。是一页显示固定的条数。

假设我们每页显示 5 条记录的方式来分页。

如果第一个参数是 0 可以省略写

select * from student3 limit 5

最后如果不够 5 条,有多少显示多少

select * from student3 limit 10,5

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150473.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 3D建模场景怎么做?

    3D建模场景怎么做?在开始做3d场景之前,我绘制了一些草图。选好需要的草图后(图01),我用3dsmax从标准几何体开始制作模型,还使用了像lathe,bevel以及unwrapuvw这类的基本修改器。用不同的参数值进行复制(图02)。为了完成这个项目,一些额外的模型也是必须的(图03)。图01图02图03开始制作材质也就意味着有趣的一部分工作开始了。我喜欢用unwrap修改器工作,然后将所有的展开的渲染图全部输入到photoshop软件中,在photoshop中我可以根据…

    2022年6月3日
  • pycharm配置运行环境_服务器运行失败怎么办

    pycharm配置运行环境_服务器运行失败怎么办今天讲一下,如何使用pycharm关联服务器代码,以及使用本地文件启动,服务器环境。1、设置连接填写服务器信息,ip地址,端口号,登录用户,密码,选择好服务器项目的路径。配置服务器同步运行环境输入密码设置路径,选择python路径,和你同步路径设置好以后,完成。然后启动,本地项目设置。设置好以后,启动本地项目。然后使用服务器地址,访问8000端口。在浏览器,使服务器的ip+8000端口,访问。即可。且,在本地修改代码,会时时同步

    2022年8月26日
  • 使用SpringBoot上传文件并存储至数据库

    使用SpringBoot上传文件并存储至数据库springboot2.2.1.RELEASE <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><…

    2022年5月20日
  • kali更新源(软件更新,附kali源列表)

    kali更新源(软件更新,附kali源列表)kali更新源(软件更新)源列表见文末(2019年10月5日更新)1.vim/etc/apt/sources.list文件添加如图内容,保存退出即可。2.刷新软件包列表apt-getupdate注:VMwareWorkstation中的虚拟机需要调成桥接或者NAT模式,保证虚拟机可以上网。…

    2022年5月8日
  • mysql排序字段为空的排在最后面「建议收藏」

    mysql排序字段为空的排在最后面

    2022年2月10日
  • COJ 1059 – Numeric Parity 位操作「建议收藏」

    COJ 1059 – Numeric Parity 位操作

    2022年1月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号