每日一题-19(周内每天的销售情况)

题19

写一个SQL语句,报告周内每天每个商品类别下订购了多少单位,返回结果表单按商品类别排序。
在这里插入图片描述
其中:

  • Orders表:order_id, item_id 是该表主键
  • Items表:item_id是该表主键,item_name是商品的名字,item_category是商品的类别.

解题思路:

  • 先理解:DAYOFWEEK-返回一个介于1和7之间的数字,该数字对应于指定日期表达式是一周中的星期几。例如,1对应星期日,2对应星期一,……,7对应星期六;
  • 用case when建立新的列,再往里面填充内容
select
    a.item_category as CATEGORY,
    sum(case when weekday(order_date)=0 then quantity else 0 end) as MONDAY,
    sum(case when weekday(order_date)=1 then quantity else 0 end) as TUESDAY,
    sum(case when weekday(order_date)=2 then quantity else 0 end) as WEDNESDAY,
    sum(case when weekday(order_date)=3 then quantity else 0 end) as THURSDAY,
    sum(case when weekday(order_date)=4 then quantity else 0 end) as FRIDAY,
    sum(case when weekday(order_date)=5 then quantity else 0 end) as SATURDAY,
    sum(case when weekday(order_date)=6 then quantity else 0 end) as SUNDAY    
from items a
left join orders b on
    a.item_id=b.item_id
group by CATEGORY
order by CATEGORY;

猜你喜欢

转载自blog.csdn.net/Txixi/article/details/121471095
今日推荐