SQL実践P227ウィンドウ関数ROWNUM
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
/* 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--テーブル自体削除 |