0

我正在尝试添加一行来指示一堆数据的总数。例如:

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

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

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

我想知道是否有优化的 sql 查询返回我一个指示总数的单行。

谢谢你。

4

2 回答 2

2

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

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

结果

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

参考

于 2013-04-03T11:34:35.080 回答
0

呃......有什么问题只是:SELECT SUM(salary) FROM employee

你可以尝试在salary, 上创建一个索引来覆盖上面的查询。

顺便说一句,SQL 用于查询,而不是用于显示,因此不要尝试在 SQL 本身中“格式化”结果。这就是表示层的工作。

于 2013-04-03T11:26:35.577 回答