Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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中所有输出的单个值和总和_Mysql_Sum - Fatal编程技术网

获取mysql中所有输出的单个值和总和

获取mysql中所有输出的单个值和总和,mysql,sum,Mysql,Sum,从表中选择值产生以下结果: 1 5 8 3 但是我想得到单个值和所有输出的总和 1 17 5 17 8 17 3 17 选择值,从表中求和(值)仅生成 1 17 我如何才能以某种方式“解组”我的结果 感谢您的回答….使用子查询: SELECT value, (SELECT SUM(value) FROM table) AS sValue FROM table 您也可以使用交叉连接: SELECT value, sValue FROM mytable CROS

从表中选择值
产生以下结果:

1
5
8
3
但是我想得到单个值和所有输出的总和

1    17
5    17
8    17
3    17
选择值,从表中求和(值)
仅生成

1    17
我如何才能以某种方式“解组”我的结果

感谢您的回答….

使用子查询:

SELECT value, (SELECT SUM(value) FROM table) AS sValue
FROM table
您也可以使用
交叉连接

SELECT value, sValue
FROM mytable
CROSS JOIN (SELECT SUM(value) AS sValue FROM mytable) AS t

如果您不需要每行的
总和
,则可以使用用户变量:

 SELECT value, @sum := @sum + value AS cumulative
   FROM table1
   JOIN (SELECT @sum := 0) init
  WHERE ...
这将为您提供一个累计总数,最后一行将具有正确的总数


或者,假设这是应用程序的一部分,并且您正在循环结果以显示它们,则在应用程序逻辑中执行计算可能会更容易。

使用示例数据发布表结构这是唯一的方法吗?因为我有很多WHERE术语,我必须在子查询中再次使用相同的术语。@SvenRichter据我所知,MySQL不支持CTEs,因此我没有其他方法,只能重复
WHERE
子句中的所有谓词。使用
交叉联接
与前面的方法大致相同。