首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MySQL -将SELECT查询(其中IN)拆分为两行

MySQL -将SELECT查询(其中IN)拆分为两行
EN

Stack Overflow用户
提问于 2022-06-28 16:41:39
回答 2查看 32关注 0票数 0

因此,我使用MySQL进行查询,并拥有如下数据库:

我想做一个select查询,根据它们的前缀显示银行A和C的每一个事务。这是预期的结果:

我按以下方式进行了查询:

代码语言:javascript
代码运行次数:0
运行
复制
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条件分成两行?任何帮助都将不胜感激。谢谢。

注:语言为印尼语。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-28 16:45:23

代码语言:javascript
代码运行次数:0
运行
复制
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;
票数 1
EN

Stack Overflow用户

发布于 2022-06-28 16:50:25

当使用聚合函数(如SUM或COUNT )而不指定GROUP BY时,它将将所有行聚合在一起。在被聚合的行之间可能有所不同的字段(如M.Merk )将从正在聚合的任意行中获取一个值,尽管mysql的现代版本默认为ONLY_FULL_GROUP_BY模式,在该模式中,选择这样的字段将导致错误而不是任意值。

听起来你想要一个GROUP BY I.Bank, M.Merk,但是你没有把银行包括在你选择的字段中是令人困惑的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72790281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档