我的表格rsPhotos
有4列:picID
,huntID
,photo
,D_hunt
。
photo
列有许多不同的jpgs,huntID
列与photo
相对,但有许多不同的huntID
。
我只想为每个photo
一个 huntID
。
我已尝试使用群组的min
功能,但在将文字与词汇混合时会出错。尝试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
答案 0 :(得分: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