안녕하세요.
mssql로 짜여있던 소스를 mysql로 변경하려고 합니다.
페이징 처리를 위해 쿼리문을 수정중인데 막히는 부분이 있어서 질문드립니다.
SELECT ALLSHOP.*
FROM
(
SELECT
A.*
, @ROWNUM:=@ROWNUM+1 AS RNUM
FROM
( SELECT * FROM SHOP ) A ,
( SELECT @ROWNUM := 0 ) R
ORDER BY A.SHOPID DESC
) AS ALLSHOP
WHERE ALLSHOP.RNUM BETWEEN ((#page#-1)*#pageSize#)+1 AND #page#*#pageSize#
이 쿼리문에 count(*) as total_count를 추가 하려고 합니다.
현재 검색결과에 마지막 칼럼을 total_count라고 이름을 주고 전체 값이 반복하여 들어 갔으면 합니다..
설명이 부족한 것 같아서 그림 추가합니다..
이렇게 되었으면 합니다.. 어떻게 해야 할까요?
설명이 부족하면 더 추가하겠습니다.
답변부탁드립니다. 감사합니다.
제가 해봤던 것 몇 개 올립니다.
SELECT ALLSHOP.*
FROM
(
SELECT
A.*
, COUNT(*) AS TOTAL_COUNT
, @ROWNUM:=@ROWNUM+1 AS RNUM
FROM
( SELECT * FROM SHOP ) A ,
( SELECT @ROWNUM := 0 ) R
GROUP BY A.SHOPID,A.SHOPNAME
ORDER BY A.SHOPID DESC
) AS ALLSHOP
WHERE ALLSHOP.RNUM BETWEEN ((#page#-1)*#pageSize#)+1 AND #page#*#pageSize#
=> total_count 가 모든 컬럼에 추가되어 나오기는 하는데 값이 1입니다.
SELECT ALLSHOP.*
FROM
(
SELECT
A.*
, COUNT(*) AS TOTAL_COUNT
, @ROWNUM:=@ROWNUM+1 AS RNUM
FROM
( SELECT * FROM SHOP GROUP BY SHOPID,SHOPNAME) A ,
( SELECT @ROWNUM := 0 ) R
ORDER BY A.SHOPID DESC
) AS ALLSHOP
WHERE ALLSHOP.RNUM BETWEEN ((#page#-1)*#pageSize#)+1 AND #page#*#pageSize#
=> total_count는 원하는 값이 나오지만 검색 결과가 하나입니다..
SELECT ALLSHOP.*
FROM
(
SELECT
A.*
, B.total_count
, @ROWNUM:=@ROWNUM+1 AS RNUM
FROM
( SELECT * FROM SHOP ) A ,
( SELECT count(*) as total_count FROM SHOP ) B ,
( SELECT @ROWNUM := 0 ) R
ORDER BY A.SHOPID DESC
) AS ALLSHOP
WHERE ALLSHOP.RNUM BETWEEN ((#page#-1)*#pageSize#)+1 AND #page#*#pageSize#
좋은 방법인지는 모르겠으나 우선 이렇게 해두고 넘어가려고 합니다.
더 좋은 방법이 있다면 알려주세요~~
< 참고 블로그 >
mysql ibatis로 페이징 처리하기 ★★★
http://toring92.tistory.com/44
rownum을 사용하여 조회된 결과에 번호 붙이기★★★
http://cremazer.blogspot.kr/2013/09/mysql-rownum.html
mysql rownum 구현하기
http://dhplanner.blogspot.kr/2009/07/mysql-rownum-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0.html
mysql - 행 번호 매기기
http://linuxism.tistory.com/747
[MySQL] Oracle의 그룹별 번호 매기기와 같은 기능 구현하기
http://blackbull.tistory.com/43
mysql은 count 함수 없나요? ㅠ
페이징(Paging)에 대한 이해 - (2) ROW NUMBER 을 이용한 게시물 가져오기.
스프링(Spring) 개발 - (17) 페이징 (전자정부 프레임워크 이용)
http://addio3305.tistory.com/89
rownum 표현 방법
http://firstboos.tistory.com/entry/mysql-%EC%97%90%EC%84%9C-rownum-%EB%A7%8C%EB%93%A4%EA%B8%B0
[DBMS] [mysql] 페이징 처리시 총건수 문제
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=74613&sca=DBMS
'나의질문답' 카테고리의 다른 글
ajax data출력 질문드립니다. (0) | 2016.01.06 |
---|---|
checkbox 자바스크립트 실행질문이 있습니다. (0) | 2015.11.10 |
지도에서 위경도 값 얻어오기 (0) | 2015.11.09 |
ie9 ,ie10호환성체크 확인방법이 있나요? (0) | 2015.11.02 |
새글등록 제한시간에 관해 여쭤볼 것이 있습니다. (0) | 2015.11.02 |