PHP、MySQL如何对两个不同日期范围的数据求和
我做这件事有困难PHP、MySQL如何对两个不同日期范围的数据求和,php,mysql,sum,Php,Mysql,Sum,我做这件事有困难 +------------+------------+------------+ | Name | year | Value | +------------+------------+------------+ | Name1 | 2015 | 100 | | Name1 | 2014 | 150 | | Name1 | 2013 | 2
+------------+------------+------------+
| 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,比如
(SUM(Name1 WHERE year <= "2014") - SUM(Name1 WHERE year <= "2015") ) AS Value
GROUP BY Name
(SUM(Name1,其中年份您需要这样的东西
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
选择(总和(如果(年份=2013,值为0))
-总和(如果(年份=2013年,值为0))作为总金额
从您的\u表\u名称
按名称分组
这将实现您可以像这样使用的技巧
SELECT (SUM(IF(`year` <= 2015 and `year` >= 2013,value,0) ) ) as total_sum_2015 FROM `table`
从“表”中选择(总和(如果(`year`=2013,值为0))作为2015年的总和
2014年也是如此
像这样
SELECT (
SUM( IF( `year` <=2014
AND `year` >=2013, value, 0 ) )
) AS total_sum_2014
FROM `table`
选择(
总和(如果(`year`=2013,值为0))
)2014年总计
从`表`
您的预期输出是什么?“从(2015年到2013年)的值减去(2014年到2013年)的值”这意味着您只希望2015年的值之和正确?所以您将直接从表中检索,那么为什么要使用复杂查询?在使用实际数据(包括贷方和借方)手动计算后你的解决方案行得通我没注意到LOL…,Thnx这么多活力