我想解決類似下面的數據的情況下出現問題的複製項目,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
我想知道是否有使用查詢,而無需子查詢與上述任何更簡單的方法?
什麼是關於您的查詢 「不容易」?對我來說這似乎很合理。 –