Group by的使用方法
sql中如果要分组查询,一般都会使用到group by语句,如何熟练使用group by语句呢,我分以下几点进行总结。
- Group by与聚合函数
- Group by与Having
- 需要注意的地方
Group by与聚合函数
group by一般与聚合函数一起使用。这是因为group by之后结果集就变成了多个分组,而每个分组可能包含多条记录,要想针对每个分组进行操作,所以必须使用可以作用在多条记录上的聚合函数。比如,下面的示例就使用了group by和聚合函数查询每个PNR的总记录数,sql语句如下。
1 -- 1,Group by与聚合函数 2 -- 查询每个PNR的总记录数 3 SELECT NewPNR,COUNT(*) FROM dbo.RemoteSession 4 GROUP BY NewPNR;
如果要对分组进行筛选呢?要怎么实现,请继续往下看。
Group by与Having
要对分组后的结果进行筛选,一般使用having语句来实现。请看下面示例,代码如下。
1 -- 2,Group by与Having 2 -- 查询总记录数>1(或者说有重复的)的PNR 3 SELECT NewPNR,COUNT(*) FROM dbo.RemoteSession 4 GROUP BY NewPNR 5 HAVING COUNT(*)>1;
需要注意的地方
关于group by的使用,有几个特别需要关注的地方。
- select语句指定的字段要么包含在group by语句中作为分组的依据;要么就要被包含在聚合函数中(比如:count,sum等)。
- 注意where与having的区别,where是在分组前对结果集进行过滤,而having是对group by分组后的结果集进行过滤。
参考资料
- SQL中Group By的使用
- sql group by 与 having的用法
- 深入浅出SQL教程之Group by和Having
转载于:https://www.cnblogs.com/mcgrady/p/4213847.html
Group by的使用方法相关推荐
- Allegro打散Group的两种方法操作指导
Allegro打散Group的两种方法操作指导 Allegro可以建一个Group,也可以打散一个Group,当不需要器件,过孔走线等等以一个group形式体现,可以用下面的操作打散,具体操作如下 举 ...
- django中聚合aggregate和annotate GROUP BY的使用方法
接触django已经很长时间了,但是使用QuerySet查询集的方式一直比较低端,只会使用filter/Q函数/exclude等方式来查询,数据量比较小的时候还可以,但是如果数据量很大,而且查询比较复 ...
- mysql group by 组内排序方法
mysql的group by语法可以根据指定的规则对数据进行分组,分组就是将一个数据集划分成若干个小区域,然后再针对若干个小区域进行数据处理.本文将介绍mysql使用group by分组时,实现组内排 ...
- Group Policy Client解决方法
最近我同学的电脑遇到了这样的一个问题: 在开机登录界面时无法进入,提示Group Policy Client服务未能登录 其实在开始我也没遇到这样的问题,上网查了很久的资料,最后终于 ...
- 在sql server里,日期字段按天数进行group by查询的方法
比如一张表里有如下时间字段的记录: 2009-01-01 12:00:00 2008-12-23 11:00:11 2009-12-22 11:22:00 2009-01-01 14:00:00 20 ...
- mysql中关于group的语句指令_mysql不支持group by的解决方法小结
下载安装的是最新版的mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就报错,然后又把它移除了. 一旦开启 only ...
- select非group by字段的方法
只需要将非group by字段放进函数中即可: 转载于:https://www.cnblogs.com/niwotaxuexiba/p/10200451.html
- 浅谈 underscore 内部方法 group 的设计原理
前言 真是天一热什么事都不想干,这个月只产出了一篇文章,赶紧写一篇压压惊! 前文(https://github.com/hanzichi/underscore-analysis/issues/15)说 ...
- SQL删除重复数据方法
原文:SQL删除重复数据方法 例如: id name value 1 a pp 2 ...
- 用户管理 之 用户(User)和用户组(Group)配置文件详解
作者:北南南北 来自:LinuxSir.Org 摘要:本文详解用户(User)和用户组(Group)的配置文件,本文是<Linux 用户(User)和用户组(Group)管理概述>文档的关 ...
最新文章
- Instruments of Xcode
- print python 如何加锁_Python 进阶(一):多线程
- 我的7天=玩2天+窝5天
- php.ini settimelimit,PHP-set_time_limit()和ini_set('max_execution_time',...)之间的区别...
- Android Handler的内存泄露场景分析
- 【Echarts底层相关】
- 在centos上运行neural_artistic_style 风格转换
- C语言之浅析网络包解析
- oppok3如何刷机_OPPO K3 PCGM00刷机教程,卡刷升级更新官方固件系统包
- 【STM32】PS2遥控手柄使用和程序移植
- 前端做大屏显示,缩放比,分辨率怎样适配?
- 北京办理居住证的全流程
- 皇家每羊历险记(二)——地形制作
- Linux环境安装python3报错:“HTTP Error 416 Requested Range Not Satisfiable 正在尝试其它镜像”的解决方法
- 【Python游戏】咱就说Python实现一个蔡徐坤大战篮球的小游戏,可还行? | 附带源码
- Windows应用商店保留Windows 7特色
- 深度linux系统,深度操作系统
- dedecms去掉栏目广告
- 大数据技术原理与应用—第10讲 Spark(林子雨老师)课后习题
- 树莓派4B安装联想LJ2605D打印机驱动
热门文章
- postgresql查看表的创建者和表的权限
- 【文本匹配】cqrctr:文本匹配的破城长矛
- 【ACL2020】tBERT: 结合主题模型和BERT实现语义相似度分析
- 如何写论文?看下这份《科研论文撰写策略》为你指点一二
- 65 年来,全英国向他道歉三次
- 小知识 | 谈谈 损失函数, 成本函数, 目标函数 的区别
- 最全攻略:利用LightSeq加速你的深度学习模型
- 昨晚学妹参加了B站秋招笔试,还想考考我?
- 基于DEAP库的python进化算法--遗传算法实践--最短路径问题
- 我用过了TensorFlow、PyTorch等好几种框架,为什么还是吃不透深度学习算法?