プロジェクトの場合、データを集計するクエリがあります。
SELECT
code,
SUM(someValue) as summedValueForCode
FROM
someTable
GROUP BY
code;
ここで必要なのは、summedValueForCode がすべての行で表す % を定義する 3 番目の列です。したがって、summedValueForCode / summedValueForAllRows.
私は次のようなことができます:
SELECT
code,
SUM(someValue) as summedValueForCode,
(100 * SUM(someValue) / (SELECT sum(someValue) FROM someTable)) as valueForCodeToTotal
FROM
someTable
GROUP BY
code;
しかし、それはあまりエレガントに見えません。
別のオプションは次のとおりです。
SELECT
code,
SUM(someValue) as summedValueForCode,
(100 * SUM(someValue) / totalSum) as valueForCodeToTotal
FROM
someTable,
(SELECT sum(someValue) as totalSum FROM someTable) as summedTable
GROUP BY
code;
それでも、実際のクエリは非常に複雑なので、そのようなクエリをもう一度追加するという考えは好きではありません。
集計関数を使用して、GROUP を無視してすべての行の SUM を計算する方法はありますか?