SQL実践P227ウィンドウ関数ROWNUM
/* SQL実践P227ウィンドウ関数ROWNUM Classごとに順番を出力する。これを使えばクラスグループごとに順番を表示できる。 */ CREATE TABLE Weight2( class Integer NOT NULL, student_id char(4) NOT NULL, weight integer NOT NULL --PRIMARY KEY(class,student_id) ) INSERT INTO Weight2 VALUES(1,'100',50), (1,'101',60), (1,'102',70), (2,'100',150), (2,'101',50), (3,'100',50) SELECT CLASS,student_id , ROW_NUMBER() OVER (ORDER BY class,student_id) as seq FROM Weight2 /*この場合は全体で連番にする CLASS student_id seq 1 100 1 1 101 2 1 102 3 2 100 4 2 101 5 3 100 6 */ --Classごとに順番を出力する。これを使えばクラスグループごとに順番を表示できる。 SELECT CLASS,student_id , ROW_NUMBER() OVER (PARTiTION BY class ORDER BY class,student_id) as seq FROM Weight2 /* CLASS student_id seq 1 100 1 1 101 2 1 102 3 2 100 1 2 101 2 3 100 1 */ --DELETE FROM Weight2--行削除 --DROP TABLE Weight2--テーブル自体削除