2015-04-24 50 views
0

我有一個表rsPhotos,它有4列:picID,huntIDphoto,D_hunt如何編寫SQL Server查詢以獲取組

photo列具有許多不同的JPG文件,所述huntID列是相對於photo秒,但也有許多不同huntID的。

我只想ONEphoto每個huntID

我曾嘗試min函數組,但得到的錯誤混合NUMS文本。試過TOP,不適合我。

有人可以弄清楚這一點嗎?謝謝

樣本數據

picID huntID  photo  D_hunt 
----------------------------------------- 
72096 20785 DSC_0605.jpg 2015-04-04 
72098 20785 DSC_0586.jpg 2015-04-04 
72100 20775 DSC_1555.jpg 2015-01-02 
72098 20745 DSC_5828.jpg 2014-12-15 
72096 20745 DSC_4632.jpg 2014-12-15 

結果應該是這樣的......

huntID  photo 
-------------------------- 
20785  DSC_0605.jpg 
20775  DSC_1555.jpg 
20745  DSC_5828.jpg 

回答

1

爲此,可以使用窗口函數做,ROW_NUMBER

SELECT 
    huntID, 
    photo 
FROM(
    SELECT *, 
     RN = ROW_NUMBER() OVER(PARTITION BY huntID ORDER BY D_hunt DESC, picID DESC) 
    FROM rsPhotos 
)t 
WHERE RN = 1 
ORDER BY huntID DESC 
+0

謝謝爲了您的知識。我的山姆手冊沒有ROW_NUMBER,OVER或分區中,我將不得不尋找它的線。 「t」是做什麼的?如果它不在那裏,它不起作用。再次感謝。這是我在你的幫助下所做的。 [鏈接](http://www.sdthunters.com/PicturesHunts.asp) – user3191485

相關問題