必須是一個相當常見的任務,但我找不到一個優雅的方式來做到這一點。SQL檢索最新的行
表:
Id
testdate
partid
testid
相同的部分可在相同的測試多次經歷。我想要在(partlist)中的所有部分完成所有測試的最新結果。
SELECT max(testdate)
FROM table
WHERE partid IN (partlist)
GROUP BY testid, partid
幾乎可以完成這項工作,只是它沒有給我所需的id字段。我可以先選擇正確的日期,然後使用WHERE子句中的testdate,partid和testid選擇id字段,但這很醜陋。
必須有更好的方法來做到這一點?
如果需要,我願意放棄部分列表並只獲取一個部分的數據。
您正在使用什麼RDBMS? –
我使用ms sql,但是任何SQL都應該足以回答這個問題。如果它不是一些非常晦澀的功能,翻譯你的當地方言通常很容易。 – Bastiaan