對於以下數據集,我試圖選擇PARENT + CHILD + COUNT的組合,其中CREATED_DT是最大的。我假設GROUP BY是正確的方式來解決這個問題,但我沒有運氣。有什麼想法嗎?SQL:幫助使用GROUP BY(或其他?)選擇唯一PARENT + CHILD + MAX(CREATED_DT)記錄的COUNT
PARENT CHILD COUNT CREATED_DT
PARENT1 CHILD1 100 01/17/2012
PARENT1 CHILD1 200 01/16/2012
PARENT1 CHILD2 300 01/14/2012
PARENT1 CHILD2 400 01/15/2012
期望的結果集的記錄1和4 - 即PARENT1 + CHILD1 + 100(1/17> 1/16),和PARENT1 + CHILD2 + 400(1/15> 1/14) 。
如果我做的:
SELECT PARENT, CHILD, COUNT, MAX(CREATED_DT) FROM TABLE
GROUP BY PARENT, CHILD, COUNT
...然後因爲計數不同的是,它還是選擇了所有4行。如果我嘗試:
SELECT PARENT, CHILD, MAX(CREATED_DT) FROM TABLE
GROUP BY PARENT, CHILD
...然後我不確定如何返回並獲取我現在丟失的COUNT。
想法?
這是完美的 - 不知道我可以使用PARTITION BY做類似GROUP BY的事情,而不需要聚合。謝謝! – Mark 2012-01-18 20:11:17