개발 기록이

[MySQL] mybatis로 ROWNUM 생성하기 본문

기록/DB

[MySQL] mybatis로 ROWNUM 생성하기

studyingbackhoe 2024. 2. 8. 22:36

 

 

시퀀스 값이 불규칙한 상태(ex: 1, 10, 2, 3, 5, 7)에서 특정 시퀀스의 앞 행과 뒤 행의 값을 조회하는 방법에 대해 알아보자. mybatis에 적용하기 위해서 SET 방식(SET @rownum:=0;)이 아닌 다음과 같은 방식으로 rownum을 생성했다.

<select id="selectPostRowNum" resultType="HashMap">
    SELECT 
        @rownum := @rownum + 1 AS rownum,
        post_seq,
        title,
        contents,
        reg_date,
        mod_date
    FROM 
    (
       SELECT 
            post_seq,
            title,
            contents,
            reg_date,
            mod_date
       FROM post_table, (SELECT @rownum := 0) AS temp
       ORDER BY mod_date DESC
    ) AS TB
    
</select>

 

 

rownum을 이용하면 post_seq이 불규칙한 상태에서도 원하는 post_seq의 앞, 뒤 행의 값을 가져올 수 있다.


출처 : OpenAI ChatGPT (https://openai.com)