为了账号安全,请及时绑定邮箱和手机立即绑定

遍历列表以查找对象是相等的

遍历列表以查找对象是相等的

人到中年有点甜 2021-08-19 16:04:37
我有一个结果集,如下所示,我使用左连接和其他条件返回该结果集。ID1 - table1 (unique)ID2 - table2 (unique)type - table2 AMt3 - table2我的最终结果集是:ID1       ID2   Type    AMT1835748   21987   9     41835748   12898   26    51835748   21986   26    52242186   21421   1    112242186   21422   1    202242186   21988   1    30现在我查看了这些数据并总结了 type 和 ID1 相同的数量。在上面的例子中,第 1 行 - 保持在第 2+3 行 - 总和相加并返回第 4+5+6 行 - 返回总和所以最后我将只有 3 条记录需要发送到另一个系统。是否可以使用查询来实现这一点?到目前为止,我已经给出了简单的表示,查询更复杂。或者如果这可以完成我的java代码?我如何实现这一目标?
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

您可以在 SQL 中做到这一点。使用GROUP BY和MAX()。


SELECT T1.ID1,

       T2.TYPE,

       MAX(T2.ID2) ID2,

       SUM(T2.AMT) AMT

       FROM <your join>

       GROUP BY T1.ID1,

                T2.TYPE;

替换<your join>为您的连接操作。并且可能更改MAX()为MIN(),如果您最不喜欢ID2,而不是最喜欢的。或者把它放在一起。


查看完整回答
反对 回复 2021-08-19
?
温温酱

TA贡献1752条经验 获得超4个赞

您可以在 SQL 中做到这一点。使用 GROUP BY 和 MAX()。

SELECT T1.ID1, T2.TYPE, MAX(T2.ID2) ID2, SUM(T2.AMT) AMT from GROUP BY T1.ID1, T2.TYPE; 替换为您的连接操作。并且可能将 MAX() 更改为 MIN(),如果您喜欢最小的 ID2,而不是最大的。或者把它放在一起。


查看完整回答
反对 回复 2021-08-19
  • 2 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信