2013-12-23 111 views
0

我可以用SUM()功能在MySQL方便地选择一列的总和,像这样:在MySQL中选择两个列表和?

SELECT SUM(`someColumn`) FROM `table` 

是否也可以用相同的查询返回第二列的总和?与此相似:

SELECT SUM (`someColumn`, `anotherColumn`) FROM `table` 

运行这样的查询返回我下面的访问冲突:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' `anotherColumn`) FROM `table`' at line 1 
+0

你想将两个coloum加在一起还是单独显示它们? – PeterRing

+0

@PeterRing另外。 :) – ReactingToAngularVues

回答

5

尝试用:

SELECT SUM(COALESCE(`someColumn`, 0)+ COALESCE(`anotherColumn`, 0)) as TotalSum FROM `table` 

,或者如果你这些单独想:

SELECT SUM(`someColumn`) as Sum1, SUM(`anotherColumn`) as Sum2 FROM `table` 
+0

非常感谢。 :) – ReactingToAngularVues

4
SELECT SUM(`someColumn`) + SUM(`anotherColumn`) as TotalSum FROM `table` 
0

一个更简单的方法:

SELECT col1, col2, col3, (col1+col2+col3) AS Total FROM table; 
0

如果要总结多个列,您只需选择多列的总和。

如果你只想要总列,你可以这样做:

SELECT SUM(col1+col2+...+coln) AS all_total 

如果你想保留的款项分开,你可以这样做:

SELECT SUM(col1) AS total1, SUM(col2) AS total2, ..., SUM(coln) AS totaln