現在の行数をCOUNT(*)で取得し、すべての行の合計行数をすべての行の列として取得したい(スクリプト作成を避けるために必要なレポートそれはSQLの外)。 SUM(qty)を使用することはできません。結果を理由別にグループ化したくない場合、およびパラメータを使用する場合は:=最後の行の合計qtyを取得するだけです。グループなしの同じ行のMySql値と合計(値)
私の現在のクエリが
SET @sumTotal:=0;
SELECT reason, qty, (@sumTotal := @sumTotal + qty) AS total_qty
FROM
(
SELECT reason, COUNT(*) AS qty
FROM someTable
--Imagine a huge amount of joins here
GROUP BY someTableId
)base
のようなものsomeTableは結果が
----------------------------
reason | qty | totalqty
----------------------------
reason1 | 2 | 10
reason2 | 3 | 10
reason3 | 5 | 10
----------------------------
のようになります私は多分間違った方向に考えています
----------------------
projectid | reason
----------------------
1 | reason11
1 | reason12
2 | reason21
2 | reason22
2 | reason23
3 | reason31
.
.
.
3 | reason35
----------------------
のように見えるテーブルを探しますこれを簡単に修正する方法がありますか?
誰もあなたが –
@RaymondNijlandを必要とする結果といくつかの例のデータを共有していけない場合、あなたを助けることはできません - 、ヒント – Mayrhofer
ます。また、これはすべきではない –