본문 바로가기

개발/BACK

[Mysql] 특정 컬럼으로 정렬 후, 조회 데이터 ROW에 인덱스 추가하기

728x90

특정 컬럼을 기준으로 정렬한 다음, 

조회된 순서대로 ROW 마다 번호를 붙여줄 수 있다

 


 

id date name
1 2022-07-14 14:23:38 사과
2 2022-07-20 14:23:38 포도
3 2022-07-25 14:23:38 오렌지
4 2022-07-10 14:23:38 멜론

 

예를 들어 해당 데이터가 있다고 예를들면,

 

1.

id 별로 정렬한 후, 정렬된 순서대로 인덱스를 붙여주기

SELECT id,name,ROW_NUMBER() OVER(ORDER BY date DESC) AS "idx" FROM tb_fruit;

SELECT id,name,ROW_NUMBER() OVER(ORDER BY date ASC) AS "idx" FROM tb_fruit;

 

1.1

ROW_NUMBER() 함수를 이용해서 조회되는 ROW에 시퀀스를 붙여준다

 

1.2

OVER 집계함수를 이용하여 date 컬럼을 기준으로 정렬 후, 인덱스 번호를 부여하게 된다

 

 

 

 

728x90