sql - 匹配组合
问题描述
我有一个表,其中包含多个交易编号和金额。如果我需要从这些交易中获得特定金额的匹配组合。我如何得到它?
例如:
桌子:
我需要总和为 30 的交易清单。我怎样才能得到它?如果不是最接近 30
可以通过 SQL 实现吗?
解决方案
如果你想要两个交易,你可以使用:
select t1.*, t2.*
from transactions t1 join
transactions t2
on t1.txn < t2.txn
ordre by abs(50 - (t1.amount + t2.amount))
fetch first 1 row only;
您尚未指定数据库,因此使用标准 SQL。
推荐阅读
- javascript - 如何制作一个新按钮来启动嵌入式 Google 幻灯片演示?
- yocto - 添加依赖于 `OVERRIDES` 的层
- spidermonkey - 如何从源代码正确构建 SpiderMonkey
- java - 用于模拟 Java 的 LocalDate.fromEpochDay() 的 MySQL 函数
- xml - XSLT1.0:替换 XML 中属性出现的子环值
- node.js - JWT 功能在本地有效,但在 heroku 上无效
- elasticsearch - 弹性:没有可用于此声明的持久卷,也没有设置存储类
- python - 导入脚本并使用 APScheduler 和 Python 运行它
- android - 如何在颤动中使用 RepaintBoundary 将整个小部件变成图像
- android-workmanager - 单击按钮时,正在运行的工作管理器服务如何取消?