如何創建一個查詢,該查詢在一列中提供總和,而小計依賴於另一列中的查詢?Mysql查詢在同一輸出中提供總計和子查詢總數
如下表
mysql> +------+------+------+--------+
-> | A | B | num | status |
-> +------+------+------+--------+
-> | e | f | 34 | Y |
-> | e | f | 45 | Y |
-> | g | h | 22 | N |
-> | a | f | 55 | Y |
-> | d | g | 66 | N |
-> | e | f | 67 | Y |
-> | a | f | 88 | Y |
-> | e | g | 36 | N |
-> | d | g | 44 | N |
-> | a | h | 33 | Y |
-> | a | g | 33 | N |
-> | e | x | 343 | Y |
-> | a | a | 33 | N |
-> +------+------+------+--------+
-> 13 rows in set (0.00 sec)
我想輸出的表中顯示:由A進行分組; NUM的總和和num的總和,其中狀態= Y.
此:
select A, sum(num),
(select sum(num) from test where (status = 'Y'))
from test
group by A;
mysql> +------+----------+----------------------------------------------------+
-> | A | sum(num) | (select sum(num) from test where (status = 'Y')) |
-> +------+----------+----------------------------------------------------+
-> | a | 242 | 665 |
-> | d | 110 | 665 |
-> | e | 525 | 665 |
-> | g | 22 | 665 |
-> +------+----------+----------------------------------------------------+
...提供了錯誤的結果,偏離航向。它給所有A的總和列3
我也喜歡:
mysql> +------+----------+----------------------------------------------------+
-> | A | sum(num) | (select sum(num) from test where (status = 'Y')) |
-> +------+----------+----------------------------------------------------+
-> | a | 242 | 176 |
-> | d | 110 | 0 |
-> | e | 525 | 489 |
-> | g | 22 | 0 |
-> +------+----------+----------------------------------------------------+
BR AK
謝謝,這確實有效。 –
很高興爲你效勞。請接受答案 - 謝謝! –