Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
求和并显示MySQL到PHP表_Mysql - Fatal编程技术网

求和并显示MySQL到PHP表

求和并显示MySQL到PHP表,mysql,Mysql,从上面的MySQL表可以看出,如果我想使用PHP像下面的表一样显示,我可以使用什么语法 结果: +----+--------+------+------------+-----------+----------+------+ | id | deb_id | name | date | nominal | duration | type | +----+--------+------+------------+-----------+----------+------+ | 1

从上面的MySQL表可以看出,如果我想使用PHP像下面的表一样显示,我可以使用什么语法

结果:

+----+--------+------+------------+-----------+----------+------+
| id | deb_id | name |  date      |  nominal  | duration | type |
+----+--------+------+------------+-----------+----------+------+
| 1  | K7PJ8  | John | 2016-09-04 | 100000.00 |        2 | DB   |
| 2  | K7PJ7  | Rey  | 2016-08-30 | 125000.00 |        1 | DB   |
| 3  | K7PJ8  | John | 2016-09-05 | 50000.00  |        2 | CR   |
| 4  | K7PJ7  | Rey  | 2016-08-05 | 25000.00  |        1 | CR   |
+----+--------+------+------------+-----------+----------+------+
按deb_id分组,然后求和标称值,其中type=(CR-DB)

您可以使用case语句将这些值分隔为两个单独的列


你可以用一个案例陈述将这些值分成两列。

残差是什么?残差是名义-DB(借方)的平均值…残差是什么?残差是名义-DB(借方)的平均值…第五行有点奇怪,但在其他方面很好。很好,你今晚把我剩下的都省下来了。。您的语法实际上是正确的:)我很抱歉,因为我是这里的新手。。我需要大家的指导。。再次感谢@develenvannate第五行有点奇怪,但在其他方面还行。太好了,今晚你救了我的命。。您的语法实际上是正确的:)我很抱歉,因为我是这里的新手。。我需要大家的指导。。再次感谢@devlnate
+--------+------+------------+------------+
| deb_id | name |  nominal   |  residual  |
+--------+------+------------+------------+
| K7PJ8  | John | 100000.00  | 50000.00   |
| K7PJ7  | Rey  | 125000.00  | 100000.00  |
+--------+------+------------+------------+
SELECT deb_id
     , name
     , SUM(CASE WHEN type = 'DB' THEN nominal ELSE 0 END) AS nominal
     , SUM(CASE WHEN type = 'CR' THEN nominal ELSE 0 END) AS credit
     , SUM(CASE WHEN type = 'DB' THEN nominal ELSE 0 END) - SUM(CASE WHEN type = 'CR' THEN nominal ELSE 0 END) AS residual
  FROM myTable
 GROUP 
    BY deb_id
     , name