我想比较MySQL中发现的两个不同日期的数据

时间:2017-06-21 12:21:41

标签: mysql

我想比较MySQL中发现的两个不同日期的数据。

例如:

Date         Sale   ProductName
----------------------------------------
2017-01-01   1258   Product1
2017-01-01   345    Product2
2017-01-01   3452   Product3
2017-01-02   1135   Product1
2017-01-02   496    Product2
2017-01-02   3559   Product3

我希望在两个日期之间提供增量销售数据。

我该怎么做。

示例输出:

Product Name   2017-01-01  2017-01-02   Increase
--------------------------------------------------------
Product2       345         496          +151  
Product3       3452        3559         +107

1 个答案:

答案 0 :(得分:0)

drop table if exists t;
create table t (Dt date, Sale int, prod varchar(10));
insert into t values
('2017-01-01', 1258 ,'Product1'),
('2017-01-01', 345  ,'Product2'),
('2017-01-01', 3452 ,'Product3'),
('2017-01-02', 1135 ,'Product1'),
('2017-01-02', 496  ,'Product2'),
('2017-01-02', 3559 ,'Product3');

select prod,dt,sale,
         if(t.prod <> @p, @rt:=t.sale,(@rt:=@rt  - t.sale) * -1) Diff,
         @p:=t.prod p
from  (select @rt:=0 ,@p:=0) rt,t
order by  prod,dt,sale