Menu
CoddyTech

回顾:总收益商店

本课属于 Coddy SQL 学习旅程的“基础知识”单元。第 40 课,共 72 课。

challenge icon

挑战

简单

可用的表和列:

  • shop:price,quantity,category,list_date

你的任务是计算一家商店在 January 1, 2015 到 March 18, 2015 期间每个商品类别的总收入。由于数据录入系统存在系统性错误,数据库中的所有价格都比实际价格低一个固定金额。

要修正这些价格:

  1. 首先,计算指定日期范围内所有商品的平均价格(从 2015-01-01(2015 年 1 月 1 日)到 2015-03-18(2015 年 3 月 18 日))
  2. 将这个平均价格加到每件商品的原始价格上,得到正确的价格值
  3. 对于每个类别,将修正后的价格乘以数量,并把这些值相加,计算总收入
  4. 以(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 在线编辑器