MySQL에서 Oracle처럼 ROWNUM 사용법
SET구문을 사용하여 ROWNUM 값을 초기화 후 조회
SET @rownum:=0; SELECT @rownum:=@rownum+1, b.* FROM buyingboard b
WHERE절에서 초기화
SELECT @rownum:=@rownum+1, b.* FROM buyingboard b WHERE (@rownum:=0)=0;
FROM절에서 초기화
SELECT @rownum:=@rownum+1, b.* FROM buyingboard b, (SELECT @rownum:=0) TMP;
모두 결과가 아래와 같이 나온다.
But 초기화를 시키지 않을 경우 조회 할 때마다 번호가 바뀌게 된다.
ORDER BY 를 사용할 경우 (SELEC를 한번 더!)
SELECT @ROWNUM := @ROWNUM + 1 AS ROWNUM, A.* FROM (SELECT * FROM buyingboard ORDER BY bno DESC) A, (SELECT @ROWNUM := 0 ) B
JOIN문을 사용할 경우
① (SELECT @rownum:=0) TMP;를 JOIN문 아래에 추가
② INNER JOIN 사용 - INNER JOIN (SELECT @rownum:=0) T2