我想獲得當前行數量COUNT(*)和所有行上的總行數量作爲每列的列(試圖避免腳本的報告所需的它在sql之外)。 我不能使用SUM(數量),因爲我不想按理由分組我的結果,當我使用一個參數:=我只得到最後一行的總數。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看起來像
----------------------
projectid | reason
----------------------
1 | reason11
1 | reason12
2 | reason21
2 | reason22
2 | reason23
3 | reason31
.
.
.
3 | reason35
----------------------
結果應該是這個樣子
----------------------------
reason | qty | totalqty
----------------------------
reason1 | 2 | 10
reason2 | 3 | 10
reason3 | 5 | 10
----------------------------
難道我也許錯了方向思考有一個簡單的方法來解決這個問題?
沒有人可以幫助你,如果你不分享一些示例數據與你需要的結果 –
@RaymondNijland-添加了預期的結果,thx的提示 – Mayrhofer
你還應該發佈源表或示例數據的標籤 –