回顾:总收益商店
本课属于 Coddy SQL 学习旅程的“基础知识”单元。第 40 课,共 72 课。
挑战
简单可用的表和列:
shop:price,quantity,category,list_date
你的任务是计算一家商店在 January 1, 2015 到 March 18, 2015 期间每个商品类别的总收入。由于数据录入系统存在系统性错误,数据库中的所有价格都比实际价格低一个固定金额。
要修正这些价格:
- 首先,计算指定日期范围内所有商品的平均价格(从
2015-01-01(2015 年 1 月 1 日)到2015-03-18(2015 年 3 月 18 日)) - 将这个平均价格加到每件商品的原始价格上,得到正确的价格值
- 对于每个类别,将修正后的价格乘以数量,并把这些值相加,计算总收入
- 以(
category,total_revenue)对的形式呈现结果,并按总收入降序排序
亲手试试
-- 第 2 步:将重建后的行分组并汇总,按总计从大到小排序
SELECT ____
FROM (
-- 第 1 步:重建每一行,用修正后的值替换原来的值
SELECT ____ AS price, quantity, category, list_date
FROM shop
WHERE list_date BETWEEN '2015-01-01' AND '2015-03-18'
)
GROUP BY ____
ORDER BY ____ DESC基础知识中的所有课
自己练习: SQL 在线编辑器