본문 바로가기
DataBase/DataBase

MySQL 행번호(Row Number)

by d-e-v-j 2024. 8. 8.
반응형

오래된 Query를 보다가 행번호를 엄청 어렵게 구하는걸 봤다.

왜 저렇게 구나하 싶었는데 예전 버전에서는 다들 그렇게 했다더라...


MySQL 8.0 version 미만에선 행번호를

SET @row_num = 0;
SELECT 
    @row_num := @row_num + 1 AS row_num,
    your_columns
FROM 
    your_table
ORDER BY 
    some_column;

이런식으로 SET을해주고 거기에 계속 +1을 해준다 ...

 

하지만

8.0 이상 버전부터는 메소드가 추가되어서 편하게 행번호를 쓸 수 있다.

SELECT 
    ROW_NUMBER() OVER (ORDER BY some_column) AS row_num,
    your_columns
FROM 
    your_table;

 

한 번 xml 파일들 좀 까보고 옛날 코드 들은 좀더 성능 좋은걸로 수정해 봐야겠다

728x90
반응형
LIST