SQL操作知识总结(四)

xiaoxiao2021-02-28  37

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_prodsFROM Products

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

vend_id   num_prods------- ---------BRS01         3DLL01         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 ordersFROM OrdersGROUP BY cust_id

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

WHERE与HAVING连用:

SELECT vend_id, COUNT(*) AS num_prodsFROM ProductsWHERE prod_price >= 4GROUP BY vend_id

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

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

转载请注明原文地址: https://www.6miu.com/read-2624033.html

最新回复(0)