因此,我正在使用 MySQL 進行查詢并擁有這樣的資料庫:

我想做一個select查詢,根據前綴顯示銀行 A 和 C 的每筆交易。這是預期的結果:

我已經完成了如下查詢:
SELECT
M.merk AS 'Merk',
COUNT( T.amount ) AS 'Jumlah Transaksi',
SUM( T.amount ) AS 'Total Amount'
FROM
tb_transaksiatm T
INNER JOIN tb_issuer I ON
T.nomor_kartu LIKE CONCAT(I.prefix, '%')
INNER JOIN tb_terminalatm M ON
T.terminal = M.nomor_terminal
WHERE
I.bank IN ('A', 'C') # Declare the Bank;
但我的結果與預期的不一樣。它結合并總結了銀行 A 和銀行 C 的兩行。這是我的結果:

問題是,如何將WHERE IN條件分成兩行?任何幫助,將不勝感激。謝謝你。
注:語言為印尼語。
uj5u.com熱心網友回復:
SELECT
M.merk AS 'Merk',
COUNT( T.amount ) AS 'Jumlah Transaksi',
SUM( T.amount ) AS 'Total Amount'
FROM
tb_transaksiatm T
INNER JOIN tb_issuer I ON
T.nomor_kartu LIKE CONCAT(I.prefix, '%')
INNER JOIN tb_terminalatm M ON
T.terminal = M.nomor_terminal
WHERE
I.bank IN ('A', 'C') # Declare the Bank
group by M.merk;
uj5u.com熱心網友回復:
當您使用諸如 SUM 或 COUNT 之類的聚合函式并且未指定 GROUP BY 時,它將所有行聚合在一起。可能在被聚合的行之間變化的欄位(例如 M.Merk)將具有從被聚合的任意行中獲取的值,盡管現代版本的 mysql 默認為 ONLY_FULL_GROUP_BY 模式,其中選擇這樣的欄位將導致錯誤任意值。
聽起來您打算擁有一個GROUP BY I.Bank, M.Merk,盡管您沒有在所選欄位中包含銀行令人困惑。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/497104.html
上一篇:PHP-SQL陳述句創建錯誤
