SQL note3

SELECT AVG(prod_price) AS avg_price
-> FROM Products;

SELECT AVG(prod_price) AS avg_price
-> FROM Products
-> WHERE vend_id = ‘DLL01’;

SELECT COUNT(cust_email) AS num_cust
-> FROM Customers;

SELECT MAX(prod_price) AS max_price
-> FROM Products;

SELECT MIN(prod_price) AS min_price
-> FROM Products;

SELECT SUM(item_price*quantity) AS total_price
-> FROM OrderItems
-> WHERE order_num = 20005;

SELECT AVG(DISTINCT prod_price) AS avg_price
-> FROM Products
-> WHERE vend_id=’DLL01’;

DISTINCT参数必须使用列名,不能用于计算或表达式

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;

==========================================
语句,子句,字段,函数,参数,操作符

==========================================
使用分组可以将数据分为多个逻辑组,对每个组进行聚集计算。

SELECT vend_id,COUNT(*) AS num_prods
-> FROM Products
-> GROUP BY vend_id;

WHERE 过滤指定的是行而不是分组,它没有分组的概念。
WHERE过滤行,HAVING过滤分组。
WHERE在数据分组前进行过滤,HAVING在数据分组后进行过滤。

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

SELECT order_num,COUNT(*)AS items
-> FROM OrderItems
-> GROUP BY order_num
-> HAVING COUNT(*)>=3
-> ORDER BY items,order_num;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值