编写sql语句查询销售了两单及以上的员工编号,订单数量,订单总价
时间: 2023-07-03 20:18:05 浏览: 538
好的,以下是符合您要求的 SQL 语句:
```
SELECT employee_id, COUNT(*) AS order_count, SUM(price) AS total_price
FROM orders
GROUP BY employee_id
HAVING COUNT(*) >= 2;
```
这条语句会查询出销售了两单及以上的员工编号、订单数量和订单总价,其中 `orders` 表是存储订单信息的表。`GROUP BY` 语句会将表按照员工编号分组,`COUNT(*)` 函数会计算每个员工的订单数量,`SUM(price)` 函数会计算每个员工的订单总价,`HAVING COUNT(*) >= 2` 会筛选出销售了两单及以上的员工。
相关问题
本题目要求编写SQL语句, 建立供应商的销售记录视图vSupStatics,显示供应商号和订单数量,订单总价,分别表示为Sid,ordcount,ordTotalPrice。
假设存在以下三个表:
- Suppliers(供应商表):包含供应商信息,其中Sid为供应商编号。
- Orders(订单表):包含订单信息,其中Sid为供应商编号,Price为订单总价。
- OrderDetails(订单详情表):包含订单详情信息,其中OrderId为订单编号。
则可以使用以下SQL语句创建供应商的销售记录视图vSupStatics:
```
CREATE VIEW vSupStatics AS
SELECT Sid, COUNT(DISTINCT Orders.OrderId) AS ordcount, SUM(Orders.Price) AS ordTotalPrice
FROM Suppliers
LEFT JOIN Orders ON Suppliers.Sid = Orders.Sid
LEFT JOIN OrderDetails ON Orders.OrderId = OrderDetails.OrderId
GROUP BY Sid;
```
解释:
- 使用LEFT JOIN连接Suppliers、Orders和OrderDetails三个表,以便能够获取所有的供应商信息、订单信息和订单详情信息。
- 使用COUNT(DISTINCT Orders.OrderId)计算每个供应商的订单数量,DISTINCT用于去重。
- 使用SUM(Orders.Price)计算每个供应商的订单总价。
- 使用GROUP BY Sid按照供应商编号进行分组,以便能够计算每个供应商的销售记录。
本题目要求编写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
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;
阅读全文