대신 sql문 내에서 변수(@변수명)가 지원된다.
SELECT A, B, @RNUM := @RNUM + 1 AS RNUM FROM T , (SELECT @RNUM := 0) A
위 처럼 인라인뷰에서 변수 선언 및 초기화를 하고 SELECT 절에서 ROW 만큼 1씩 증가시키는 구조.
추가로 PARTITION BY 를 쓸려면...
변수를 하나 더 쓰면 된다
SELECT A, B , CASE WHEN @V_A = A THEN @RNUM ELSE @RNUM := @RNUM + 1 END AS RNUM , @V_A := A FROM T , (SELECT @V_A := 0, @RNUM := 0) A
sql내에서 변수가 지정되다보니 변수를 아주 유용하게 활용할 수 있다.
댓글 없음:
댓글 쓰기