SQL操作知识总结(四)

本文介绍了SQL中常用的聚合函数,如COUNT(*)、MIN()、MAX()和AVG()等,并通过实例展示了如何使用这些函数进行数据统计。此外,还详细讲解了GROUP BY和HAVING子句的应用场景,帮助读者掌握复杂查询技巧。

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

6-2,组合聚集函数

SELECT COUNT(*) AS num_items,
MIN(prod_price) AS price_min,
MAX(prod_price) AS price_max,
AVG(prod_price) AS price_avg

FROM Products;       COUNT(*) AS num_items,返回字段数目,MIN() AS price_min,prod_price字段的最小值。其他相同

7-1,分组数据

SELECT vend_id, COUNT(*) AS num_prods
FROM Products

GROUP BY vend_id;      分组数据按vend_id分组,结果类似下面:

vend_id   num_prods
------- ---------
BRS01         3
DLL01         4

FNG01         2  

解释:      GROUP BY vend_id,按   vend_id分组,数据库分为了三组,num_prods 各自的数目为3,4,2

注意:GROUP BY 子句必须出现在 WHERE 子句之后, ORDER BY 子句之前

7-2,过滤分组

SELECT cust_id, COUNT(*) AS orders
FROM Orders
GROUP BY cust_id

HAVING COUNT(*) >= 2;   过滤分组有点类似WHERE过滤,这段代码,是按cust_id分组,过滤数目大于等于2的

WHERE与HAVING连用:

SELECT vend_id, COUNT(*) AS num_prods
FROM Products
WHERE prod_price >= 4
GROUP BY vend_id

HAVING COUNT(*) >= 2;    选择prod_price>= 4的且按vend_id>= 2分组,记住COUNT(*)是计数,比如实际应用,可以是

统计价格大于等于4元的,且销售的电脑品牌数量在两台以上的。  比如销售宏碁3台,戴尔销售1台,神舟销售2台,三个品牌价格都大于四元,那样就会筛选出两条数据来。宏碁与神舟。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值