2016-05-14 2 views
0

У меня есть следующий код:MySQL Расчета разницы между месяцами

select DATE_FORMAT(`Import_Date`, '%M %Y') as Month, 
     concat('R ', FORMAT(SUM(Total_Amount),2)) as Total_Amount 
from `overtime` 
group by `Import_Date` 
order by EXTRACT(YEAR_MONTH FROM `Import_Date`); 

генерация этого:

+---------------+----------------+ 
| Month   | Total_Amount | 
+---------------+----------------+ 
| November 2015 | R 4,649,211.48 | 
| December 2015 | R 4,470,413.37 | 
| January 2016 | R 4,504,793.31 | 
| February 2016 | R 3,143,027.89 | 
| March 2016 | R 2,026,576.65 | 
| April 2016 | R 3,632,761.58 | 
+---------------+----------------+ 

Как рассчитать разницу между этими двумя рядами в виде отдельного столбца называется Diff .. .?

ответ

0

Попробуйте

select DATE_FORMAT(`Import_Date`, '%M %Y') as Month, 
     concat('R ', FORMAT(SUM(Total_Amount),2)) as Total_Amount, 
     SUM(Total_Amount) - @previous as diff, 
     @previous := SUM(Total_Amount) 
from `overtime` 
cross join (select @previous := 0) p 
group by `Import_Date` 
order by EXTRACT(YEAR_MONTH FROM `Import_Date`); 
Смежные вопросы