SQL分组数据
- SQL分组数据 推荐度:
- 相关推荐
SQL分组数据
//创建分组,对每个供应商进行产品数量计算
SELECT vend_id, COUNT(*) AS num_prods
FROM Products
GROUP BY vend_id
//GROUP BY 规定
1.可以包含任意列,可以进行嵌套且SELECT语句中的列都要在GROUP BY子句中给出
2.GROUP BY 字句列出的每一列都必须是检索列或有效表达式,不能是聚集函数
3.如果嵌套了分组,则按最后指定的分组进行汇总。
4.SQL Server支持ALL子句,用来返回所有分组。没有匹配行的分组返回NULL
5.大多数SQL不允许GROUP BY列带长度可变的数据类型(文本、备注字段等)
6.分组列中包含NULL的行,将NULL作为分组返回,多行NULL作为一组
7.GROUP BY子句必须出现在WHERE子句之后,ORDER BY子句之前
8.GROUP BY 2,1,表示按选择的第二个列分组,再按第一个列分组,并不是所有SQL实现都支持
//HAVING过滤分组
SELECT cust_id,COUNT(*) AS orders
FROM Orders
GROUP BY cust_id
HAVING COUNT(*)>=2//HAVING过滤分组,WHERE 过滤行,HAVING可以替代WHERE
//HAVING在分组后进行过滤,WHERE在分组前过滤
SELECT vend_id,COUNT(*) AS num_prods
FROM Products
WHERE prod_price>=4//WHERE先过滤
GROUP BY vend_id
HAVING COUNT(*)>=2//HAVING再过滤
//分组和排序
SELECT order_num,COUNT(*) AS items
FROM OrderItems
GROUP BY order_num//分组
HAVING COUNT(*) >=3
ORDER BY items,order_num//排序
//SELECT 子句顺序
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
最新文章
- RTB,未来移动互联网广告的发展方向
- 浪潮存储:基于系统级可靠性设计,为数据存储保驾护航
- Understanding parameters:理解参数(Parameter)
- XManager5ssh远程登录服务器工具xshell ,服务器资源上传下载工具xftp
- Java后端学习路线图
- Filter拦截过滤参数
- 【基础】BMP格式
- NFS服务器的配置与管理
- Windows下VMware准备IOS开发环境
- jmeter
- 什么是长连接?长连接、短连接、三次握手
- 谱分析——连续傅里叶变换
- 安装linux软件包
- 目标检测~总结
- python thinker
- UDS之浅谈31服务
- C语言之结构体、结构体数组