当前位置: 首页 > 知识库问答 >
问题:

如何在MySQL中通过检查组中是否存在值来筛选组?

段溪叠
2023-03-14

我有一个journalstransactions表。日记是父项,事务是子项。

我要做的是对transactions表进行分组,以检查sum(amounts)。但我不需要整个事务-只需要那些存在帐户的事务

我知道这是一个可怕的描述,但我不知道如何接近这一点。所以如果你们需要更多的细节请告诉我。

基本上,这就是我想要实现的查询。但它不起作用的原因我不知道。

select 
    t1.*
from 
    (
        select 
            journal_id,
            sum(amount)
            group_concat(quote(account)) as acc_codes 
        from
            `transactions` 
        group by journal_id 
    ) as t1
where '4500' in (t1.acc_codes)

共有1个答案

董凡
2023-03-14

放弃子查询方法,而是添加一个having子句断言,它检查帐户的存在:

SELECT journal_id, SUM(amount) AS total
FROM `transactions` 
GROUP BY journal_id
HAVING SUM(account = '4500') > 0;
 类似资料:
  • 问题内容: 如何检查是否具有或的值? 问题答案: 使用? 顺便说一句,您要为键分配一个值两次,因此您的数组将导致一个只有一个值的数组。

  • 问题内容: 我有一个名为“ bob”的数组,其中包含值。 我如何才能知道在没有迭代的情况下名为bob的数组中是否存在“傻”值? 问题答案: 您可以使用方法。为此,您需要将数组转换为列表。您可以使用以下方法:

  • 问题内容: 我需要帮助检查数据库中是否存在行。就我而言,该行包含一个电子邮件地址。我得到结果: 这是我当前正在使用的代码: 有没有更好的方法来检查MySQL中是否存在行(在我的情况下,检查MySQL中是否存在电子邮件)? 问题答案: 以下是经过尝试,测试和证明的检查行是否存在的方法。 (其中一些我自己使用,或者过去使用过)。 编辑: 我在使用两次的语法中犯了一个先前的错误。请查阅修订版本。 即:

  • 我需要帮助检查数据库中是否存在行。在我的例子中,该行包含一个电子邮件地址。我得到的结果是: 这是我目前使用的代码: 有没有更好的方法来检查MySQL中是否存在行(在我的例子中,检查MySQL中是否存在电子邮件)?

  • 问题内容: 如何检查PHP中是否存在URL(非404)? 问题答案: 这里: 在这里和上面帖子的下面,有一个curl解决方案:

  • 问题内容: 如何检查扫描仪中写入的值是否存在? 问题答案: 只需使用ArrayList.contains(desiredElement)即可。例如,如果您要从示例中查找conta1帐户,则可以使用以下方法: 编辑: 请注意,为了使其正常工作,您将需要适当地重写equals()和hashCode()方法。如果使用的是Eclipse IDE,则可以通过首先打开对象的源文件并选择来生成这些方法。