作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到问题,找不到解决方案。
我有一个表“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/
我正在使用 Chart.js 创建图表。我在数据库中存储了一些日期和销售额。在这里,我使用 ajax 请求从数据库中选取记录,并通过将数据划分为两个不同的数组 date["2017-12-18","2
我正在尝试创建一个销售报告,用户可以在其中查看每天、每周和每月的销售额。 这是我的 table : CREATE TABLE IF NOT EXISTS `sales_act` ( `id`
我有一张包含 customer_number、week 和 sales 的表。我需要检查每个客户是否连续 12 周没有销售,并创建一个 0/1 的标志。 我可以检查过去 12 周或特定时间范围,但
我尝试了一些方法,到目前为止,这是唯一没有抛出错误的方法,但结果不会在我的页面上回显,所以我不太确定发生了什么。 $query = "SELECT SUM(sales.total) AS sales_
我是一名优秀的程序员,十分优秀!