mysql分组数据

本文深入探讨了MySQL中分组查询的基本概念与实践应用,包括如何使用GROUP BY子句进行数据分组,WITH ROLLUP关键字的作用,以及HAVING子句在过滤分组中的运用。文章通过具体示例说明了如何利用这些功能进行高效的数据分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

titledatetagscategoriesdescription
mysql分组数据
2020-04-23 02:49:02 -0700
mysql
数据库
分组是在`SELECT`语句的`ORDER BY`子句中建立的

创建分组

分组是在SELECT语句的ORDER BY子句中建立的

SELECT vend_id, COUNT(*) AS num_prods
	FROM products
	GROUP BY vend_id;

file

通过GROUP BY子句,导致对每个vend_id而不是整个表计算COUNT(*)一次

除了聚集计算语句外,SELECT语句中的每个列都必须在GROUP BY子句中给出

GROUP BY必须出现在WHERE之后,ORDER BY之前

  • WITH ROLLUP关键字

在group分组字段的基础上再进行统计数据

SELECT vend_id, COUNT(*) AS num_prods
FROM products
GROUP BY vend_id WITH ROLLUP;

file

过滤分组

过滤分组使用HAVING子句,他非常类似于WHERE,唯一的差别是WHERE过滤行,而HAVING过滤分组(WHERE在分组前进行过滤,而HAVING在数据分组后进行过滤)

SELECT vend_id, COUNT(*) AS num_prods
FROM products
GROUP BY vend_id
HAVING COUNT(*) > 2;

file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值