SQL Server分组数据
今天要分享给大家的是SQL Server中的分组数据。
一、Group By语句
- 概念:Group By语句根据 “By”指定的规则对数据进行分组,即将一个“数据集” 划分成若干个“小区域”, 然后针 对若干个“小区域”进行数据处理。GROUP BY 子句通常与聚合函数一起用于统计数据。
- 语法:
GROUP BY 子句为列中的每个值组合生成一个组。
3.举例:使用group by查询客户ID为1,2的分组数据
在上图中,可以看到查询结果,id为1查询到两组年份;id为2查询到两组年份;
二、GROUP BY子句和聚合函数
在上个例子中,从图中看到我们除了使用Group by语句外,还使用了聚合函数year()。那么我们就来了解一下聚合函数吧!
- 概念:聚合函数对组执行计算并返回每个组的唯一值。
例如, COUNT() 函数返回每个组中的行数。 其他常用的聚合函数是: SUM() , AVG() , MIN() , MAX() 。GROUP BY 子句将行排列成组,聚合函数返回每个组的统计量(总数量,最小值,最大值,平均值,总和 等)。
如果要引用 GROUP BY 子句中未列出的任何列或表达式,则必须使用该列作为聚合函数的输入。 否则,数据库系统将会提示错误,因为无法保证列或表达式将为每个组返回单个值。
- 举例:
查询返回每个城市的客户数量
三.、SQL Server Having子句
HAVING 子句通常与[GROUP BY]子句一起使用,以根据指定的条件列表过滤分组。
语法:
在此语法中, GROUP BY 子句将行汇总为分组, HAVING 子句将一个或多个条件应用于这些每个分组。 只有使条件评估为 TRUE 的组才会包含在结果中。 换句话说,过滤掉条件评估为 FALSE 或 UNKNOWN 的 组。
因为SQL Server在 GROUP BY 子句之后处理 HAVING 子句,所以不能通过使用列别名来引用选择列表中指 定的聚合函数。
举例:使用having子句与count()函数查找每年至少下过两个订单的客户
在上图中, 首先, GROUP BY 子句按客户和订单年份对销售订单进行分组。 COUNT() 函数返回每个客户每年下达的订单数。 其次,HAVING 子句筛选出订单数至少为 2 的所有客户。
好了,今天的分享就到这里吧!
SQL Server分组数据相关推荐
- SQL Server 2008中原生的分层数据类型:hierarchyid
SQL Server 2008中SQL应用系列--目录索引 如果是在SQL 2000中,我们需要读取分层结构数据时,不得不借助递归.在SQL server 2005中,我们可以使用CTE,当然,好的数 ...
- SQL Server里Grouping Sets的威力
在SQL Server里,你有没有想进行跨越多个列/纬度的聚集操作,不使用SSAS许可(SQL Server分析服务).我不是说在生产里使用开发版,也不是说安装盗版SQL Server. 不可能的任务 ...
- SQL必知必会个人总结(SQL SERVER)
运行环境和数据: sql server 2019,Microsoft SQL Server Management Studio 18 数据: 创建表:在Microsoft SQL Server Man ...
- 整理:sql server 中sql语句执行顺序
原文地址为: 整理:sql server 中sql语句执行顺序 SQL Server 查询处理中的各个阶段(SQL执行顺序) SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中 ...
- 充分利用 SQL Server Reporting Services 图表
最近在查SSRS的一些文章,看到MSDN在有一篇不错的文章,许多图表设置都有说明,共享给大家.. 其中有说明在SSRS中如果去写条件表达写和报表属性中的"自定义代码",文章相对比较 ...
- 【Sql Server】数据库的3大服务
在数据库SQL SERVER中,处理常用的sql server数据库引擎,还有其他3大服务,分别是集成服务,报表服务,分析服务. 集成服务商可以配置包,这里的包可以理解是数据库引擎里的用户数据库.可以 ...
- 【Sql Server】DateBase-自动化
强大的SQL Server有着神奇的自动化功能,来处理一些人为处理不了的事情! 自动化功能:T-sql语言,系统命令.脚本语言.复制命令.创建角色.索引重建.报表 管理元素:作业.警报.操作员.计划 ...
- 【Sql Server】DateBase-视频总结
最近看完了数据库视频,内容繁杂,但也不是无迹可寻! 这是第三遍关于数据库的学习了,随着一遍一遍的深入,更加了解了它的全貌,虽然现在对于数据库还不能到达熟练操作的地步,但至少放我手上不在犯怵了. SQL ...
- sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系
原创链接:https://www.cnblogs.com/lxf1117/p/6762315.html sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户 ...
最新文章
- 使用pg_stat_statement监控pgsql遇到的问题
- python培训好学吗-Python0基础好学吗?
- 基于Web的质量和测试度量指标
- string类的用法详解
- 【最简单的例子】Editor.md的初步使用
- git使用--提交代码
- IOS设置导航栏返回按钮,并添加事件返回主页面
- 让php4和php5共存的方法
- bpsk在瑞利信道matlab,请教BPSK在瑞利信道下的误码率仿真
- centos 使用 scl 软件集
- 人民币大写的正确写法(开票据事项)
- 戴尔-卡耐基:《人性的弱点 How to Win Friends And Influence People》总结
- android 12去掉屏幕锁屏(屏幕默认锁屏方式改成无)
- vue 项目实践 -ele 表单验证
- 时间加减计算器_初级会计职称考试不让带计算器?!手把手教你使用机考系统计算器,再不看就晚了!...
- Springboot垃圾分类管理系统836b7计算机毕业设计-课程设计-期末作业-毕设程序代做
- 三维动画项目实训① ------(3.17-3.24)
- 程序员初创公司的合伙人股权的进入和退出机制设计-20151020
- 广州蓝景分享—程序员必备的3个JavaScript插件,让你的视频更实用
- python 日历壁纸_Excel+Python=精美壁纸日历 任意DIY
热门文章
- php递归获取文件夹,php递归遍历文件夹
- 武汉,一座被低估的城市!(2)
- 字节跳动到底为什么能成功?十个公式深层分析 (含底层业务逻辑,及落地方法拆解)
- MySQL语句优化利器EXPLAIN
- 绝对好用,解决:Invalid character found in the request target. The valid characters are defined。。。
- 港科报道 | 香港科大与北京市人才工作领导小组办公室合作与交流备忘录“云签约”仪式成功举办...
- 【C语言中缀转后缀】
- web前端学习中CSS,JS代码压缩
- ABB机器人作西门子1200PLC的profinet从站
- 蓝牙信标的优势及应用场景