我想比较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
答案 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