![](/img/trans.png)
[英]MySQL SELECT Query with WHERE clause Not returning rows from two tables
[英]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.