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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BP神经网络基础算法

    BP神经网络基础算法

    2021年6月5日
    130
  • raid0 raid1 raid5 raid6 raid10的优缺点和做各自raid需要几块硬盘[通俗易懂]

    raid0 raid1 raid5 raid6 raid10的优缺点和做各自raid需要几块硬盘[通俗易懂]一、Raid0:一块硬盘或者以上就可做raid0优势:数据读取写入最快,最大优势提高硬盘容量,比如3块80G的硬盘做raid0可用总容量为240G。速度是一样。缺点:无冗余能力,一块硬盘损坏,数据全无。建议:做raid0可以提供更好的容量以及性能,推荐对数据安全性要求不高的使用。二、Raid1:至少2快硬盘可做raid1优势:镜像,数据安全强,2快硬盘做raid一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。缺…

    2022年7月15日
    16
  • java堆栈 (转)

    java堆栈 (转)

    2021年12月4日
    39
  • java怎么判断对象不为空_java判断对象是否为空的方法

    java怎么判断对象不为空_java判断对象是否为空的方法java判断对象是否为空的方法发布时间:2020-06-2514:39:17来源:亿速云阅读:134作者:Leah这篇文章将为大家详细讲解有关java判断对象是否为空的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。首先来看一下工具StringUtils的判断方法:一种是org.apache.commons.lang3包下的;另一种是org.s…

    2022年6月3日
    109
  • [Ruby] Ruby Variable Scope[通俗易懂]

    [Ruby] Ruby Variable Scope

    2022年2月2日
    54
  • Linux04:(4.6k)vim编辑器「建议收藏」

    Linux04:(4.6k)vim编辑器「建议收藏」文章目录Linux_day04一.vim编辑器vim的三种模式1.命令模式2.末行模式3.编辑模式实用功能扩展内容==1.vim的配置文件==2.异常退出问题3.别名机制4.退出方式补充一些win10下的快捷键Linux_day04一.vim编辑器vim的三种模式命令模式不能对文件直接编辑,但可以通过快捷键删除行,复制,粘贴,移动光标等编辑模式-输入末行模式可以在末行输入命令:搜索,替换,保存,退出,撤销vim打开文件的方式:1.#vim 文件路径——直接打开文件(光

    2022年8月9日
    2

发表回复

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

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