求解题--实操SQL语句

img

img

img

求帮忙解题:
1) 不同配送时段分别有多少订单?并按订单量降序排列。
2) 每个订单分别有几个不同的商品(品项数)?总商品数量(销售数量)是多少?
3) 每个任务的创建时间,第一个品项任务结束时间,最后一个品项任务结束时间?
4) 每个订单任务用时时长?
5) 每个任务的结束时间,和同一任务ID中上一个完成的任务的结束时间?

【以下回答由 GPT 生成】

问题1:

根据配送时段,计算每个时段的订单数量,并按订单数量降序排列。

SELECT delivery_time, COUNT(*) as order_count
FROM orders
GROUP BY delivery_time
ORDER BY order_count DESC;

问题2:

每个订单有多少不同的商品(品项数),以及订单中所有商品的总销售数量是多少?

SELECT order_id, COUNT(DISTINCT product_id) as distinct_items, SUM(quantity) as total_sales
FROM order_items
GROUP BY order_id;

问题3:

每个任务的创建时间、第一个品项任务结束时间和最后一个品项任务结束时间是什么?

SELECT task_id, 
       MIN(start_time) as first_item_end_time,
       MAX(end_time) as last_item_end_time
FROM tasks
GROUP BY task_id;

问题4:

每个订单任务的用时时长是多少?

SELECT task_id, TIMESTAMPDIFF(MINUTE, start_time, end_time) as duration_minutes
FROM tasks;

问题5:

每个任务的结束时间,以及同一个任务ID中上一个已完成任务的结束时间是什么?

SELECT task_id, end_time, 
       LAG(end_time) OVER (PARTITION BY task_id ORDER BY end_time) as previous_end_time
FROM tasks
ORDER BY task_id, end_time;


【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^