ランク内の数値をスキップせずに、テーブル内の行をランク付けしたい。以下の例をご覧ください。
CREATE TABLE #test(
apples int NOT NULL,
) ON [PRIMARY]
GO
insert into #test( apples ) values ( 10 )
insert into #test( apples ) values ( 10 )
insert into #test( apples ) values ( 20 )
insert into #test( apples ) values ( 30 )
select *, RANK() over (order by apples) as theRank from #test
drop table #test
go
結果は
apples theRank
10 1
10 1
20 3
30 4
結果が次のようになるように、2番をスキップしないようにランクを取得するにはどうすればよいですか?
apples theRank
10 1
10 1
20 2<--
30 3<--
希望の順序が得られる限り、ランク関数を使用する必要はありません。
ありがとう!!