본문 바로가기

PHP

rownum 사용

주로 게시글 번호를 붙일 때 사용했었지만, 매번 쓸때마다 검색하고 찾아보고하여 기록하게 되었다.


<Mysql>

SELECT    @RNUM := @RNUM+1 AS NO, a.*

FROM     (SELECT  *

  FROM    company

  ORDER BY seq desc) a

  , (SELECT @RNUM := 0) b;


라고 쓴다. 아래처럼 결과가 출력된다.




정확히 무슨 뜻인지는 잘모르겠지만, (SELECT @RNUM := 0) 해당 줄이 없으면 NULL로 출력된다.



나는 게시글 번호를 붙여야하기때문에 페이징 처리도 해야한다.

하지만 맨위의 방식으로 하게 되면, 1페이지나 2페이지 모두 글 번호가 동일하게 붙게된다,



그래서 LIMIT하기 전, 글 번호를 붙이고 LIMIT를 통해 글을 분리하여 조회하면 정상 출력된다.


SELECT a.*

FROM (SELECT @RNUM := @RNUM+1 as no

, company.seq

, company.company_name

, company.ceo

, company.ceo_phone

, company.manager

          FROM     company

, (SELECT @RNUM := 0) b) a

LIMIT        3, 8;



하나하나 자세한 의미는 모르겠지만, 원하는 것을 어떻게 출력해야할지는 알았다. 자세한건 천천히 공부하여 덧붙여야겠다. 

그리고 현재 PHPMYADMIN을 쓰고 있는데 sqlDeveloper과는 다르게 많이 불편하다. 오라클 쓸때는 쿼리를 쭉 이것저것 늘여쓰고 여러문장을 쓰고 출력하며 확인했지만, php에서는 아직까지 그렇게하는 법을 몰라 매번 한 쿼리쓰고 지웠다가 새로 쓰고 있다. 얼른 그것도 방법 찾아봐야겠다. 

'PHP' 카테고리의 다른 글

파일다운로드 - 오류 수정  (0) 2018.11.22
파일 다운로드(header)  (1) 2018.11.21
파일 다운로드  (0) 2018.11.20
파일 업로드  (0) 2018.11.20
form과 post 방식  (0) 2018.11.17