我在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