Background Image
마이그레이션
2008.11.21 17:28

MySQL의 limit 명령어 처리

조회 수 32685 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
다음과 같은 방법으로도 처리할 수 있습니다.
select (select * from a where a where b > 11000) from a rownum between 1 and 10

저의 경우는 서브쿼리입니다..
>
> 결과를 필터링하는 용도로, 그것이 적용되는 위치에 따라서 다음의 세 가지 함수를 지원합니다.
> 현재의 상용 DBMS 중에서는 가장 다양한 옵션을 제공합니다.
> inst_num() - rownum 으로도 표현됨
> groupby_num()
> orderby_num()
>
> 1. inst_num()은 rownum 으로도 표현되며, WHERE 절의 검색 조건을 만족하는 결과 튜플에 적용하여, 이를 필터링 합니다.
> 아래와 같이, WHERE 절의 검색 조건에 inst_num() 검색 조건을 추가하여 기술합니다.
> csql> select inst_num(), a, b from tbl where a > 0 and inst_num() between 2 and 3;
> csql> ;run
>
> === <Result of SELECT Command in Line 1> ===
>
> inst_num() a b
> =======================================
> 2 2 4
> 3 3 6
>
> 2. groupby_num()은 GROUP BY 절이 있는 경우에, WHERE 절을 통과한 결과 튜플을 그룹핑한 결과에 적용하여, 이를 필터링 합니다.
> 예를 들어, 그룹핑한 결과의 두번째, 세번째 튜플을 가져오려면 HAVING 절에 검색조건을 추가하여 기술합니다.
> csql> select groupby_num(), a, count(*) from tbl group by a having groupby_num() between 2 and 3;
> csql> ;run
>
> === <Result of SELECT Command in Line 1> ===
>
> groupby_num() a count(*)
> =========================================
> 2 1 1
> 3 2 1
>
> 3. orderby_num()은 ORDER BY 절의 순서대로 정렬한 최종 결과튜플에 적용하여, 이를 필터링 합니다.
> 예를 들어, 최종 결과의 두번째, 세번째 튜플을 가져오려면 ORDER BY ... FOR .. 에 검색 조건을 기술합니다.
> csql> select orderby_num(), a, b from tbl order by a for orderby_num() between 2 and 3
> csql> ;run
>
> === <Result of SELECT Command in Line 1> ===
>
> orderby_num() a b
> =========================================
> 2 1 2
> 3 2 4
>
> 쿼리의 처리 순서로 보면 inst_num() -> groupby_num() -> orderby_num() 의 순서로 적용됩니다. 질의문 사용시에 이를 고려하셔서 필요한 함수를 사용하시면 될 것입니다.
>
> 즉, MySQL의 LIMIT를 큐브리드 형식으로 바꾸려면 다음과 같이 하시면 되겠지요.
> 질의문에 group by, order by 절이 없으면: LIMIT -> WHERE 절에 inst_num() 조건 추가
> 질의문에 group by 절이 있고 order by 절이 없으면: LIMIT -> HAVING 절에 groupby_num() 조건 추가
> 질의문에 order by 절이 있으면: LIMIT -> ORDER BY .. FOR 절에 orderby_num() 조건 추가하면 됩니다.
>
  • ?
    phpkorea 2010.01.24 03:33
    select * from (select * from a ) as a  where rownum BETWEEN 1 and 5
    이런식으로 사용하셔야 합니다.
    subquery는 select * from과 as a 로 subquery를 감싸야 동작합니다. :)

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
19 질의작성 CUBRID DB 내의 auto_increment 값을 초기화 하자. 손승일 2009.10.28 29732
18 운영관리 큐브리드 사용포트 정리 3 정만영 2009.06.19 29775
17 마이그레이션 CUBRID 하위버젼에서 CUBRID2008로의 업그레이드 방법 1 남재우 2008.12.06 30154
16 운영관리 CUBRID 사용시 방화벽 설정 3 admin 2008.11.21 30995
15 응용개발 php에서 serialize/unserialize 사용 시 주의할 점 시난 2009.12.29 31628
14 CUBRID 매니저 Java SP사용시 JNI_CreateJavaVM 에러메시지 해결 방법 file seongjoon 2009.07.15 32043
» 마이그레이션 MySQL의 limit 명령어 처리 1 admin 2008.11.21 32685
12 운영관리 CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점 cubebridge 2012.09.18 33157
11 응용개발 CUBRID AUTO_INCREMENT 컬럼 MySQL LAST_INSERT_ID() 대체 방법 손승일 2009.12.22 33235
10 기타 좀비 프로세스 일괄 삭제하기 janus 2009.12.12 34715
9 응용개발 JDBC 사용시 SQL 로깅 - p6spy 사용 1 웁쓰 2009.07.01 35999
8 질의작성 예약어를 테이블명이나 컬럼명으로 사용시 admin 2008.11.21 37421
7 질의작성 데이터 존재하면 update, 존재하지 않으면 insert 방법(ON DUPLICATE KEY UPDATE) 손승일 2010.08.11 37999
6 마이그레이션 타 DBMS를 CUBRID로 마이그레이션 시 varchar,char 컬럼 사이즈 관련 손승일 2010.07.01 38024
5 응용개발 Weblogic 10.0 사용시 JDK 1.5를 사용한 JDBC 드라이버 사용시 주의사항. cubebridge 2012.02.22 51957
4 응용개발 WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis) 1 이상신 2015.08.21 55133
3 응용개발 weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법 file 웁쓰 2009.07.01 66306
2 마이그레이션 CUBRID vs MySQL vs ORACLE SQL 타입별 비교 정만영 2013.07.12 69158
1 운영관리 csql 데이터 입력방법 정만영 2009.06.09 213283
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales