簡體   English   中英

MySQL - 將 SELECT 查詢(WHERE IN)拆分為兩行

[英]MySQL - Split SELECT query (WHERE IN) into two rows

因此,我正在使用 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條件分成兩行? 任何幫助,將不勝感激。 謝謝你。
注:語言為印尼語。

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;

當您使用諸如 SUM 或 COUNT 之類的聚合函數並且未指定 GROUP BY 時,它將所有行聚合在一起。 可能在被聚合的行之間變化的字段(例如 M.Merk)將具有從被聚合的任意行中獲取的值,盡管現代版本的 mysql 默認為 ONLY_FULL_GROUP_BY 模式,其中選擇這樣的字段將導致錯誤任意值。

聽起來您打算擁有一個GROUP BY I.Bank, M.Merk ,盡管您沒有在所選字段中包含銀行令人困惑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM