我在MSSQL以下數據中選擇最後一個值尊重順序:集團通過並及時
declare @TEMP table (Period int, Color varchar(20), Rate int)
insert into @TEMP values(201601, 'Blue', 10)
insert into @TEMP values(201602, 'Blue', 10)
insert into @TEMP values(201603, 'Blue', 11)
insert into @TEMP values(201604, 'Red', 11)
insert into @TEMP values(201605, 'Red', 12)
insert into @TEMP values(201606, 'Blue', 13)
insert into @TEMP values(201607, 'Blue', 13)
insert into @TEMP values(201608, 'Blue', 14)
insert into @TEMP values(201609, 'Blue', 14)
insert into @TEMP values(201610, 'Blue', 14)
insert into @TEMP values(201611, 'Blue', 14)
insert into @TEMP values(201612, 'Blue', 14)
SELECT * FROM @TEMP
我想通過顏色組,同時保持「時間順序」。所以前3個藍色記錄將被分組,獨立於最後的7個藍色記錄。最終,我想選擇組中的「最新」行。
輸出將是:
Period | Color | Rate
------ | ----- | ----
201603 | Blue | 11
201605 | Red | 12
201612 | Blue | 14
------ | ----- | ----
'所以第3條藍色記錄將被分組獨立過去7藍records'.There的是沒有第一個和最後的SQL,直到你命令由..There必須是一些邏輯來確定groups.plus 1爲樣本數據 – TheGameiswar
像總是第一3以便通過日期落入在一組中,其餘在其他組 – TheGameiswar
感謝您的DDL,但除非需要請不要使用(MAX)數據類型。 – dean