mysql - Mysql选择总和等于的行
问题描述
我有一个像这样的表A:
ID | AMOUNT
1 | 10
2 | 30
3 | 40
我想找到金额之和等于一个值的行。
例如,如果我将总数设为 70,我的查询必须返回 id 2 和 3
解决方案
下面的查询将返回总和等于您传递的值的两行列表。如果有多个与总和匹配的行组合,它将返回多个列表。在Fiddle上检查这个。您只需要传递所需的总和而不是70
SELECT If((t1.amount+t2.amount)=6,CONCAT(LEAST(t1.id,t2.id),',',GREATEST(t1.id,t2.id)),"") AS sumIds
FROM testSum t1, testSum t2
WHERE (t1.amount+t2.amount)=6
AND t1.id!=t2.id
GROUP BY sumIds
推荐阅读
- postgis - 将 postgis 扩展升级到 2.5.1
- java - 使用 DynamoDBSaveExpression 检查其他键是否存在
- sql-server-2012 - 有条件怎么选?
- python-3.x - Python 在使用 @app.route 时抛出“语法错误”
- javascript - Angular4——让多个不相关的组件互相通知更新数据的问题,有没有更干净的编码方式?
- java - Spring boot + hikari - dataSource 或 dataSourceClassName 或 jdbcUrl 是必需的问题
- r - R 脚本 - PDF 错误:十六进制字符串中的非法字符;当我搜索关键字时
- laravel - 多身份验证,而一名警卫应该是多租户加社交名流
- r - R - 变量之间的错误 T 测试 For 循环命令
- java - 如何使用 Java 和 XML 配置在 Spring Security 中配置 jdbc 身份验证管理器?