假設我有一張如下所示的表格;SQL服務器 - 將搜索限制在列中的最大值
version_number ID Value
1 33 Foo
2 33 Bar
1 37 Foo
如果ID是33並且只能從最大版本號中選擇,我將如何從表中返回值字段? (在這種情況下,2)
類似;
SELECT Value FROM Table WHERE ID = 33 and MAX(version_number)
編輯:兩個答案下面的工作。我要和Tim Schmelter的答案一起,因爲我認爲它更優雅一些,但我已經把它們都投了票。謝謝你們:)
,如果我想指定version_number,但我需要它,所以它符合MAX對於指定值的任何值。因此,例如,搜索ID 33會得到version_number 2的那一行,但如果有意義,搜索ID 37會得到version_number 1的那一行? –
@RyanHargreaves:它的工作方式。它將總是返回屬於每個ID的最大版本號的行(因爲「通過ID分區」)。如果您希望將版本號的最小版本更改爲version_number Asc。 –
對不起,你說的是正確的,我忘了訂購我的Desc。謝謝 :) –