我想解决类似下面的数据的情况下出现问题的复制项目,SQL组又忽略另一列
company customer pay sequence
a x 5 1
a x 6 2
b x 3 3
b y 4 4
a y 2 5
而且我希望有通过计算求和结果公司的“支付”组,但重复的客户将仅根据最新的顺序使用一次。因此,预期的结果是
company sum(pay)
a 8
b 7
意思是说,“A”公司和(收费)8来自于第二行加上最后一排。 公司“b”总和(支付)7来自第3和第4行。第一行被忽略。
因此,我用这样的查询(PostgreSQL的)来解决这个问题,
select t2.company,sum(t2.pay) from mytable t2 join (
select company,customer,max(sequence) as sequence
from mytable group by company,customer
) t1 on t1.sequence=t2.sequence group by t2.company
我想知道是否有使用查询,而无需子查询与上述任何更简单的方法?
什么是关于您的查询 “不容易”?对我来说这似乎很合理。 –