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 3475 게시물 읽기
No. 3475
상위 25% 구하기
작성자
궁금이
작성일
2009-06-25 17:43
조회수
8,823

안녕하세요.


예를들어 100명이 합계점수를 가지고 있다면

상위 25%의 사람들만 추출하려 합니다.


select *

from 시험성적


sybase에서 어떻게 하면

위와 같이 상위 25% 성적에

해당하는 데이터만 추출할수 있을까요?


감사합니다.

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

declare @PTRow int --상위 25%에 해당하는 rowcount 수를 저장

declare @sql varchar(250) --TOP 수행쿼리 저장. 250 byte 이상은 수행힘듬.

SELECT @PTRow=convert(int, rowcnt(convert(numeric(20,9), doampg)) * 0.25)

FROM sysindexes

WHERE id=object_id("시험성적") and indid=0

SELECT @sql="SELECT TOP " + convert(varchar, @PTRow) + " * FROM 시험성적"

-- select @sql -- 디버그용

EXEC (@sql)

 

 

MSSQL 처럼 TOP은 있는데 퍼센트를 지정하는 기능은 없는 관계로

전체 테이블의 row count를 구해서 25%에 해당하는 row개수를 구한후

Dynamic 쿼리를 만들어 수행시켜주는 방식으로 처리해 봤습니다.

 

 

채연파파님이 2009-06-26 17:20에 작성한 댓글입니다.
이 댓글은 2009-06-26 17:27에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
3534테이블 사용횟수를 알수 있을까요? [1]
spectra
2009-07-03
6619
3506Sybase + asp [1]
김연성
2009-06-29
7015
3501Error: 7215 [1]
humble
2009-06-29
7605
3475상위 25% 구하기 [1]
궁금이
2009-06-25
8823
3211CLUSTERED INDEX에 관한 질문입니다. [2]
전현욱
2009-06-22
7867
3208CURSOR 관련 질문입니다. (대용량데이터베이스솔루션 2권 3-56)
전현욱
2009-06-22
6549
2777temp table 생성시 락의 발생을 처리할 방법이 있나요?? [2]
전현욱
2009-06-17
7582
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다