首页 > 解决方案 > 匹配组合

问题描述

我有一个表,其中包含多个交易编号和金额。如果我需要从这些交易中获得特定金额的匹配组合。我如何得到它?

例如:

桌子:

在此处输入图像描述

我需要总和为 30 的交易清单。我怎样才能得到它?如果不是最接近 30

可以通过 SQL 实现吗?

标签: sqlcombinationsmatching

解决方案


如果你想要两个交易,你可以使用:

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。


推荐阅读