기본 콘텐츠로 건너뛰기

라벨이 번호인 게시물 표시

SQL ROW_NUMBER - 번호 매기기

SQL에서 특정 칼럼을 기준으로 번호를 매길 수 있다. 아래와 같은 예시 테이블을 만든다. 1 2 3 4 5 6 7 8 9 10 CREATE TABLE body (height float, _name text); INSERT INTO body VALUES ( 174 . 52 , 'Tom' ); INSERT INTO body VALUES ( 167 . 33 , 'Lucy' ); INSERT INTO body VALUES ( 174 . 52 , 'Frank' ); INSERT INTO body VALUES ( 168 . 89 , 'Jane' ); INSERT INTO body VALUES ( 177 . 80 , 'Robert' ); INSERT INTO body VALUES ( 175 . 77 , 'Robert' ); INSERT INTO body VALUES ( 175 . 77 , 'Robert' ); INSERT INTO body VALUES ( 170 . 40 , 'Robert' ); 번호를 매기는 코드는 아래와 같다. 1 2 3 select row_number() over (partition by _name order by _name) as _number, _name, height from body ; 위 코드를 실행시키면 아래와 같은 결과를 얻을 수 있다. 기본 문법은 row_number () over (order by columns)이다. 더 자세히 살펴보자. - order by는 번호를 매기는 기준을 나타낸다. 다시말해 order by의 칼럼을 기준으로 번호를 매긴다. Robert의 키가 큰 순서로 번호를 매기기 위해 desc를 붙여 내림차순을 해주었다. desc가