优化DB2 SQL SUM查询

时间:2013-04-03 11:19:25

标签: sql optimization db2

我试图添加一行来指示一堆数据的总计。例如:

ISAAC      25000
Jane       18000
-----------------
TOTAL    43000

我目前实现这一目标的方法是使用如下所示的子查询:

select name, salary
from employee
union all 
select 'TOTAL', sum(salary) 
from
(
   select name, salary from employee
)

我想知道是否有优化的sql查询,它返回一行表示总数。

谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用rollup,幸运的是db2支持汇总

SELECT 
  name,  
  sum(salary) as sal
FROM 
  table 
GROUP BY ROLLUP 
  name

结果

|   NAME | SAL         |
------------------------
|  ISAAC |       25000 |
|   Jane |       18000 |
|    -   |       43000 |

REFER

答案 1 :(得分:0)

错误......只有SELECT SUM(salary) FROM employee

出了什么问题

您可以尝试在salary上创建索引,然后在cover上面的查询中创建索引。

BTW,SQL用于查询,而不是用于显示,所以不要试图在SQL本身中“格式化”结果。这是表示层的工作。