gpt4 book ai didi

sql - 在 SQL 中显示每天的产品销售额

转载 作者:行者123 更新时间:2023-12-02 09:46:49 26 4
gpt4 key购买 nike

我遇到问题,找不到解决方案。

我有一个表“SELLS”,其中包含商店的所有销售情况,我想显示一段时间内每种产品每天的销售量。

例如:

|       DATE |  NAME    | QTY |
|------------|----------|-----|
| 2014-07-03 | Coca | 1 |
| 2014-07-03 | Fanta | 1 |
| 2014-07-03 | Orangina | 5 |
| 2014-07-03 | Coca | 3 |
| 2014-07-04 | Coca | 2 |
| 2014-07-05 | Coca | 4 |
| 2014-07-05 | Fanta | 1 |
| 2014-07-05 | Juice | 2 |

我想要的显示是:

    |       NAME | TOTAL  | 2014-07-03 |  2014-07-04 |  2014-07-05 |
|------------|--------|------------|-------------|-------------|
| Coca | 10 | 4 | 2 | 4 |
| Fanta | 2 | 1 | 0 | 1 |
| Orangina | 1 | 1 | 0 | 0 |
| Juice | 1 | 0 | 0 | 1 |

用户将指定他想要显示的时间段,因此我必须使用 BETWEEN 函数来表示日期。

我尝试使用 PIVOT 函数,但我仍然不熟悉它的使用

编辑:我正在使用 SQL Server 2012。

非常感谢您的帮助。

最佳答案

Create table temp 
(
tdate date,
name varchar(10),
qty int
)

insert into temp values (getdate(),'A',10)

insert into temp values (getdate(),'B',20)

insert into temp values (getdate(),'C',20)
insert into temp values (getdate(),'A',20)
insert into temp values (getdate(),'B',30)
insert into temp values (getdate(),'C',40)
insert into temp values (getdate()+1,'A',20)
insert into temp values (getdate()+1,'B',30)
insert into temp values (getdate()+1,'C',40)




select * from
( select tdate, name, qty
from temp
) src
pivot (
sum(qty)
for tdate in ([2015-05-12],[2015-05-13])
) piv;

关于sql - 在 SQL 中显示每天的产品销售额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30195226/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com