Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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
Archives
Today
Total
관리 메뉴

자기 혐오 개발자

[MySQL] ROWNUM 생성 했는데, 중복되는 것들이 있었다. [출처] [MySQL] ROWNUM 생성 했는데, 중복되는 것들이 있었다. 본문

오늘의 삽질

[MySQL] ROWNUM 생성 했는데, 중복되는 것들이 있었다. [출처] [MySQL] ROWNUM 생성 했는데, 중복되는 것들이 있었다.

올라치노 2018. 5. 15. 23:16

MySQL에서 구글에서 찾은 방법인 (@rownum:=@rownum+1) AS ROW_NUM를 써서, Rownum를 구하려 했으나, 계속 중복되는 rownum가 있었다. 

ROWNUM

1

2

2

2

...

쿼리를 찬찬히 들여다 보니.

기본쿼리 : 

SELECT T1.*

 FROM (

  SELECT (@rownum:=@rownum+1) AS ROW_NUM

  ,  A.*

  ,  FN_펑션(A.값1) AS SAVE_DIR

  FROM  테이블 A

 , (SELECT @rownum:=0) B

  )

  WHERE 1 = 1

  ORDER BY 등록일 DESC ) T1

WHERE 1 = 1



저 Function이 문제인가 싶어서 고쳐봤다.


수정 후 쿼리 :

SELECT T1.*

  ,  FN_펑션(T1.값1) AS SAVE_DIR

 FROM (

  SELECT (@rownum:=@rownum+1) AS ROW_NUM

  ,  A.*

  FROM  테이블 A

  , (SELECT @rownum:=0) B 

  )

  WHERE 1 = 1

  ORDER BY 등록일 DESC ) T1

WHERE 1 = 1



이러니 제대로 나온다.

ROWNUM

1

2

3

4

..


저 Function을 살펴봤다..

저 Function에서도  (@rownum:=@rownum+1) 를 쓰고 있는데, rownum를 rn으로 고치고 쿼리를 다시 원복했더니, 제대로 나온다.


일단 해결은 했지만, 무엇이 어떻게 문제인지 시간을 가지고 살펴봐야 겠다.

네이버 블로그를 이전 중입니다. 내 네이버 블로그 http://blog.naver.com/candyman2007