MySQL昨天和今天的值之间的差异

时间:2018-05-02 14:34:20

标签: mysql

我知道,它应该很简单,但我似乎无法找到解决方案或创建解决方案。

我想做的就是计算日期之间的差异 所以

5/2和5/01 = 4

5/1和4/30 = 5

enter image description here

这是我到目前为止所得到的,但我想知道是否因为我的某些行中没有一个值可以搞砸了......

SELECT g1.customer_count, (g2.customer_count - g1.customer_count) as DiffDaily 
from trux_customer_site_service_counts_max_df g1 
    inner join trux_customer_site_service_counts_max_df g2 
        on g2.Row_Number = g1.Row_Number +1 
where g1.customer_count is not null

2 个答案:

答案 0 :(得分:2)

您应该进行内部联接,如下所示:

SELECT 
  A.DATE_OF_DATA `DD-1`, 
  DATE(B.DATE_OF_DATA) DD,
 (B.CUSTOMER_COUNT - A.CUSTOMER_COUNT) CUSTOMER_COUNT_DIFF
FROM 
 YOUR_TABLE A INNER JOIN YOUR_TABLE B
ON DATE(A.DATE_OF_DATA)=DATE(B.DATE_OF_DATA - INTERVAL 1 DAY);

答案 1 :(得分:0)

感谢Ankit让我顺道而行。因为我在Domo MySQL工作,你必须做一些不同的事情

SELECT 

trux_customer_site_service_counts_max_df.*
, @rownumber :=@rownumber +1 as RowNumber


from trux_customer_site_service_counts_max_df,
(select @rownumber :=0) as t
where customer_count is not null

第2步

SELECT
g1.*,

(g2.customer_count - g1.customer_count) as DiffDaily


from customercount_no_nulls g1
inner join customercount_no_nulls g2  on g2.RowNumber  = g1.RowNumber +1