SQL分组查询
把数据分成多个逻辑组,以便能对每个组的数据进行操作,对每个组进行聚集计算。
1.创建分组
分组是在SELECT语句的GROUP BY子句中建立的
例子:
SELECT vendId,count(*) AS numProds FROM products GROUP BY vendId;
GROUP BY子句指示分组数据,然后对每个组而不是整个数据集进行聚集。
GROUP BY的一些注意事项:
【1】在建立分组时,指定的所有列都一起计算,不能从个别列取回数据
【2】如果分组列中有NULL值,则NULL将作为一个分组返回,如果劣种有多行NULL值,他们将分为一组。
【3】GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前。
2.过滤分组
【1】HAVING子句过滤
例子:
SELECT custId,count(*) AS orders FROM orders GROUP BY custId HAVING count(*)>=2;
HAVING子句将过滤计数为2或大于2的分组
3.分组排序
一般使用GROUP BY子句时,也要使用ORDER BY子句,这是保证数据正确排序的唯一方法。
使用ORDER BY子句排序数据
例子:
SELECT orderId,sum(quantity*itemPrice) AS orderTotal FROM orderItems GROUP BY orderId
HAVING sum(quantity*itemPrice)>50
ORDER BY oredrTotal;
HAVING子句过滤数据,ORDER BY子句进行排序输出
SQL分组查询的更多相关文章
- SQL分组查询及聚集函数的使用
今天要做一个查询统计功能,一开始有点犯难,上午尝试大半天才写出统计sql语句,才发现自己sql分组查询及聚集函数没学好:其实就是group by子句和几个聚集函数,熟练使用统计功能很简单.在此总结下今 ...
- SQL分组查询group by
注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. 1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用 group ...
- SQL分组查询GroupBy
一.分组查询1.使用group by进行分组查询在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:〉被分组的列〉为每个分组返回一个值得表达式 ...
- 复杂sql分组查询 ( pivot)
一个数据表里面字段有年.月.日.金额.支付方式等字段,然后现在想写个sql语句,把每一天的每种支付方式金额(支付方式有多重)排在同一行, 最后在增加一列小计当前的所有支付方式的金额.如下图: 原sql ...
- SQL 分组查询 group by
select * from emp --deptno 为部门号 --输出每个部门的编号 和 该部门的平均工资 --group by deptno; 通过deptno分组 select deptno, ...
- SQL分组查询每组前几条数据
/*第一种实现方法,效率低并且有错误*/ DECLARE @DD DATETIME SET @DD = GETDATE() SELECT a.GoodsID , a.Account , a.LastU ...
- sql 分组查询及格不及格人数
select score as 类别,count(*) as 人数 from (select case when fen>=60 then '及格' else '不及格' end as scor ...
- mysql系列九、mysql语句执行过程及运行原理(分组查询和关联查询原理)
一.背景介绍 了解一个sql语句的执行过程,了解一部分都做了什么,更有利于对sql进行优化,因为你知道它的每一个连接.where.分组.子查询是怎么运行的,都干了什么,才会知道怎么写是不合理的. 大致 ...
- Group by 分组查询 实战
实战经历,由于本人在共享单车上班,我们的单车管理模块,可以根据单车号查询单车,但是单车号没有设置unique(独一无二约束),说以这就增加了单车号可能重复的风险,但是一般情况下,单车号是不会重复的,因 ...
随机推荐
- 【CSS】less 学习小结
1. less 使用 less 可直接使用浏览器解析 or 使用node 的grunt/gulp 解析成传统css . 推荐开发环境直接使用less 文件调试, 生产环境部署解析好的css 2. l ...
- 【javascript】ajax的参数
1. 常用参数 url type: contentType: dataType: data: success: error 2. 特殊参数 context: 这个对象用于设置Ajax相关回调函数的上下 ...
- 一步一步学Vue(八)
本篇完成如下场景: 1.系统包含首页.客户信息查询.登录三个模块 2.默认进入系统首页,如果要进行用户查询,则需要进行登录授权 3.查询用户后点击列表项,则进入详情页面 基于上述场景需求描述,在客户端 ...
- 初学Python(六)——输入输出
初学Python(六)——输入输出 初学Python,主要整理一些学习到的知识点,这次是输入输出. 输入: # -*- coding:utf-8 -*- ''''' python中的输出为print ...
- yii2 获取从前台传过来的post数据
第一次使用yii写接口的时候,直接用了$_POST获取post数据,发现会报400错误,根本无法获取到post数据,用$_GET却能获取get数据. 纠结了很久,然后查资料,发现原来yii中默认的开启 ...
- Android常用布局、文件存储与权限、XML
常用的布局 LinearLayout Android 2.2开始fill_parent改名为match_parent ,从API Level为8开始我们可以直接用match_parent来代替fill ...
- XRD 数据处理:使用 Origin 进行多谱图对比
如果一个实验制备了 4 种不同条件下的样品,并分别测得了它们的 XRD 衍射谱图,那么在数据处理中如何用 Origin 软件得到一张多谱图对比的图呢? 样品间的谱图对比 如果只是谱图样品间对比(以 4 ...
- css3鼠标悬停图片抖动效果
提供一个参考的链接 http://demo.lanrenzhijia.com/2015/pic0113/
- Solr6.5配置中文分词器
Solr作为搜索应用服务器,我们在使用过程中,不可避免的要使用中文搜索.以下介绍solr自带的中文分词器和第三方分词器IKAnalyzer. 注:下面操作在Linux下执行,所添加的配置在windo ...
- TypeScript基础数据类型
Typescript与Javascript 二者的区别 作为前端开发的基础语言javascript已经深入人心,人人皆知.作为变成入门的最简单语言,Javascript语言以动态.弱类型语言而著名,学 ...