我很难做到这一点
+------------+------------+------------+
| Name | year | Value |
+------------+------------+------------+
| Name1 | 2015 | 100 |
| Name1 | 2014 | 150 |
| Name1 | 2013 | 200 |
| Name2 | 2015 | 130 |
| Name2 | 2014 | 160 |
| Name2 | 2013 | 220 |
+------------+------------+------------+
(2015年至2013年)的价值减去(2014年至2013年)的价值
按名称分组
这将输出
+------------+------------+
| Name | Value |
+------------+------------+
| Name1 | 100 |
| Name2 | 130 |
+------------+------------+
或者无论如何我可以使用SUM与WHERE之类的东西
(SUM(Name1 WHERE year <= "2014") - SUM(Name1 WHERE year <= "2015") ) AS Value
GROUP BY Name
最佳答案 你需要像这样的东西
SELECT (SUM(IF(year <= 2015 AND year >= 2013,value,0) )
- SUM(IF(year <= 2014 and year >= 2013,value,0) )) AS total_sum
FROM your_table_name
GROUP BY Name
这样就可以了