-1

私たちのほとんどが知っているように、データベース システムには、列名をパラメーターとして取り、その列の要素の合計を返す集計関数 SUM が組み込まれています。

クエリを使用して列の要素を合計する別の方法があるかどうかを知りたいです。

ストアド プロシージャとカーソルを使用して要素をループし、何らかの計算を行うための回答として取得したくないことに注意してください。

だから...列の要素を合計する別の方法はありますか(組み込みの集計関数 SUM() を使用せずに)

PSこの質問は奇妙に見えますが、私にはそれを尋ねる理由があります!

4

3 に答える 3

1

次のようなことを試すことができます:

DECLARE v_sum INT

SELECT v_sum = v_sum + intcol As RunningTotal
FROM Table

最後の の値はv_sumの合計になりintcolます。

于 2013-10-14T19:38:41.637 に答える
1

次のようなことができます。

SET @values='SELECT GROUP_CONCAT(columnWithNumbers SEPARATOR \'+\')as sumall FROM table';
SET @select = CONCAT('SELECT ', @values); 
PREPARE stmt FROM @select;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

未テスト。

または、より簡単な説明として、このクエリの結果をコピーします

SELECT GROUP_CONCAT(columnWithNumbers SEPARATOR '+')as sumall FROM table

前に選択を追加し、コピーしたばかりの結果を新しいクエリに貼り付けます。

于 2013-10-14T20:48:28.957 に答える