ウィンドウ関数 DENSE_RANK()
OVER()
で 節:
DECLARE @tbl TABLE(Column1 INT,Column2 INT,Column3 VARCHAR(100));
INSERT INTO @tbl VALUES(1,1,'A')
,(1,2,'A')
,(1,3,'B')
,(2,1,'A')
,(2,2,'A')
,(2,3,'B')
,(3,1,'A')
,(3,2,'B')
,(3,3,'V');
SELECT *
,DENSE_RANK() OVER(PARTITION BY Column1 ORDER BY Column3) AS ComputedColumn
FROM @tbl;
PARTITION BY
column1
の新しい値ごとにカウンターを再起動します 、 ORDER BY
ランキングを定義します。
ヒント:画像を貼り付けないでください!
次の質問については、私の例に従って、問題を再現するスタンドアロンの例を作成し、自分で試したコードを追加してください。