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 に答える