【问题标题】:Sales growth by product category按产品类别划分的销售额增长
【发布时间】:2021-07-13 08:48:08
【问题描述】:

我需要帮助才能找到去年按产品类别划分的销售额增长

表格是这样的

Tablename- SUPERSTOREDATABASE   

|----------|---------------|--------|-------------|----------|-----------|-----------|
| OrderID  |ProductCategory| Date   |ProductName  | Sales    |Quantity   | Profit    |
|----------|---------------|--------|-------------|----------|-----------|-----------|
|    12    |   Furniture   |2/2/2018|    Table    |     $30  |    2      |      10   |
|----------|---------------|--------|-------------|----------|-----------|-----------|

返回表:我正在尝试排除重新调整的项目

|------------------|-------------------|
| OrderID          |     Returned      |
|------------------|-------------------|
|    2             |        Yes        |
|------------------|-------------------|

我需要写查询来得到这个输出


|------------------|-------------------|
| ProductCategory  |Year on Year Growth|
|------------------|-------------------|
|    Furniture     |        35%        |
|------------------|-------------------|

请帮我写一个查询

我尝试了下面的代码,但它不起作用

select year(ORDERS.ORDERDATE) as year,
      sum(case when year(ORDERS.ORDERDATE) = 2019 then ORDERS.SALES else 0 end) as price_2019,
      sum(case when year(ORDERS.ORDERDATE) = 2018 then ORDERS.SALES else 0 end) as price_2018
from  SUPERSTOREDATABASE.PUBLIC.ORDERS
left join SUPERSTOREDATABASE.PUBLIC.RETURN on ORDERS.ORDERID = RETURN.ORDERID
group by year(ORDERS.ORDERDATE)
order by max(year(ORDERS.ORDERDATE)); 

【问题讨论】:

  • 你描述了一张桌子。您的查询有两个。您尚未定义 YOY 增长的含义,也没有定义您的查询存在的问题。
  • 抱歉刚刚编辑

标签: mysql sql


【解决方案1】:

我需要帮助才能找到去年按产品类别划分的销售额增长

如果我理解正确,您只需要针对产品类别调整您的查询:

select o.product_category
       sum(case when year(o.ORDERDATE) = 2019 then o.SALES else 0 end) as price_2019,
       sum(case when year(o.ORDERDATE) = 2018 then o.SALES else 0 end) as price_2018,
        (-1 +
         sum(case when year(o.ORDERDATE) = 2019 then o.SALES else 0 end) /
         sum(case when year(o.ORDERDATE) = 2018 then o.SALES else 0 end)
        ) as yoy_growth
from  SUPERSTOREDATABASE.PUBLIC.ORDERS o
group by o.product_category
order by o.product_category

【讨论】:

  • 谢谢!你也可以包括退货表吗?我得到的答案与我在 excel 上手动所做的不同
  • @user2830993 。 . .我认为这回答了您在这里提出的问题,并且我也认为您已经提出了另一个问题。
  • 是的!我和我的朋友正在解决一些问题。我们不确定找到每笔销售平均收入的逻辑。请检查您是否可以提供帮助。 stackoverflow.com/questions/68354458/average-revenue-per-sale
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多