database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
ㆍSybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Sybase Q&A 2244 게시물 읽기
No. 2244
rownum 변환
작성자
오세철(ch71013480)
작성일
2008-06-24 11:44
조회수
8,555

select max(seq)
from 
(
    select seq
    from table
    order by seq
)
where rownum <= 100

이렇게 select 된것중에서 max 값을 가져오고 싶은데..

어떻게 처리해야 하나요

이 글에 대한 댓글이 총 4건 있습니다.

set rowcount 100
select max(seq) from table order by seq

지연님이 2008-06-24 17:36에 작성한 댓글입니다. Edit

그렇게 쓰면..전체 select 된값서 맥스값이 100 로우로 떨어지는것 같은데요..

제가 원하는것은 select 된 100 row 중에서 맥스값을 갖고 싶은건데..ㅠㅠ;;

오세철(ch71013480)님이 2008-06-24 18:25에 작성한 댓글입니다.

그럼 

set rowcount 100

select seq into #tmp from table order by seq

select max(seq) from #tmp

set rowcount 0


이렇게 해보세요










지연님이 2008-06-26 10:55에 작성한 댓글입니다. Edit

-- 전체스캔됩니다. 
인덱스 없으면....^^, 
위에서 제시한 아래 문장. seq에 index 있으면 최적화 되어 max구할 수 있습니다.

set rowcount 100
select max(seq) from table order by seq



실행계획이 대충~~
-- INDEX ASC 스캔시~~ ORDER BY NO ASC
( Plan [ Total Cost Estimate: 0.025605 ]
  ( RowLimit
    ( IndexScan ( COPY_T A ) PK_COPY_T** )
  )
)

-- INDEX DESC 스캔시 ( 뒤에 (r) 이 있습니다. )
( Plan [ Total Cost Estimate: 8.4819 ]
  ( RowLimit
    ( IndexScan ( COPY_T A ) PK_COPY_T**(r) )
  )
)


-- 보시면 ORDER BY 키워드를 통해 인덱스 최적화경로를 찾고 있습니다.





정남식(그라목손)님이 2008-07-09 17:09에 작성한 댓글입니다.
이 댓글은 2008-07-09 17:26에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
2249CallableStatement 의 값을 ResultSet에 담을때...
choi
2008-07-07
6818
2247리눅스(CentOS) Sybase 설치 오류 [7]
신현삼
2008-07-02
8850
2245CHAR(6)으로 된 데이터를 날짜로 변경하는 방법 [1]
이병훈
2008-06-26
8024
2244rownum 변환 [4]
오세철
2008-06-24
8555
2242listing contents of tape drive [1]
2008-06-18
7444
2241[질문] backup시 발생한 에러 인데 무슨에러인지 알려주세요.. [1]
박민규
2008-06-17
7106
2240쿼리 실행시 에러에 관해 문의해 봅니다. [1]
정승호
2008-06-16
8761
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다