本题目要求编写SQL语句, 检索出orders表中销售了两单及以上的员工编号,订单数量,订单总价。 提示:请使用SELECT语句作答。 表结构: : CREATE TABLE `orders` ( `OrdNo` int(11), --订单编号 `Sid` varchar(10), --供应商编号 `Eid` varchar(10), --职工编号 `Pid` varchar(20), --商品编号 `Price` decimal(10,2), --价格 `QTY` int(11), --订购数量 `ordDate` date --订单日期 ); 表样例 orders表: OrdNo Sid Eid Pid Price QTY ordDate 1 S01 0011 P01 11 23 2022-02-13 2 S02 0012 P01 12 25 2022-02-14 3 S03 0012 P03 60 55 2022-02-14 输出样例: Eid cnt sum_QTY_mul_Price 0012 2 3600.00
时间: 2023-06-05 14:04:32 浏览: 502
SELECT Eid, COUNT(DISTINCT OrdNo) AS cnt, SUM(QTY*Price) AS sum_QTY_mul_Price
FROM orders
GROUP BY Eid
HAVING COUNT(DISTINCT OrdNo) >= 2;
相关问题
本题目要求编写SQL语句, 检索出orders表中每个供货商的编号及订单数量,并按照订单数量降序排列。 提示:请使用SELECT语句作答。 表结构: : CREATE TABLE `orders` ( `OrdNo` int(11), --订单编号 `Sid` varchar(10), --供应商编号 `Eid` varchar(10), --职工编号 `Pid` varchar(20), --商品编号 `Price` decimal(10,2), --价格 `QTY` int(11), --订购数量 `ordDate` date --订单日期 ); 表样例 orders表: OrdNo Sid Eid Pid Price QTY ordDate 1 S01 0011 P01 11 23 2022-02-13 2 S02 0012 P01 12 25 2022-02-14 3 S03 0012 P03 60 55 2022-02-14 输出样例: Sid cnt S02 2 S01 1
可以使用如下SQL语句实现所需功能:
SELECT Sid, COUNT(*) AS cnt
FROM orders
GROUP BY Sid
ORDER BY cnt DESC;
其中,COUNT(*)函数用于计算每个供货商的订单数量,GROUP BY子句用于按照供货商编号对订单进行分组,ORDER BY子句用于按照订单数量降序排列。最终输出结果包括供货商编号和订单数量,使用别名cnt表示。
阅读全文