順序を尊重し、最後の値を選択する私は、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
------ | ----- | ----
は '、SQLの最初と最後のノーである必要がありますいくつかの論理をグループを決定する.PLUS 1のサンプルデータ – TheGameiswar
のように常に最初の3つの日付順に1つのグループに落ちて、他のグループに残ります – TheGameiswar
DDLをありがとう、しかし必要がない限りplsは(MAX)データ型を使用しません。 – dean