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
운영게시판
최근게시물
MySQL Q&A 28009 게시물 읽기
No. 28009
보통 이럴때는 어떻게들 처리 하시나요?
작성자
챨스
작성일
2009-02-09 17:17
조회수
4,818

한 학교에서 서울 인 사람만 뽑습니다.


그인원이 20만 명이라고 합니다.

그럼 그 인원이 속해있는 반에서 성적 1~5위를 뽑아야 합니다.

(검색된 학생이 모두 다른반이라고 가정했을때 반이 20만개가 될수도 있습니다.)


현재는 20만명 루프돌아서 뽑고 해당 학생의 반을 조건으로 성적 order by 조건으로 limit 주고있습니다. 그러니 query를 20만번 돌기때문에 너무 안좋은거같아요

어떻게 처리해야 할까요?

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

혹시 테이블이 어떻게 이루어져있는지 알수잇을까요?

말씀한 데이터가 모두 한테이블에 있다고 가정하였지만 다른테이블과 조인을 우려하여 조인문으로 작성하였습니다.


select A.Name, A.score from tmp A, tmp B
 where A.Location=B.Location

 and A.Location='서울' 

 group by A.SchoolName

 having A.ranking < 6



짧은 소견으로 이렇게 하면될듯하긴한데요 어제 좀 무리를햇더니 머리가 아프네요 ㅋ~
 

 

박성원(darkancia)님이 2009-02-10 10:23에 작성한 댓글입니다.
이 댓글은 2009-02-10 13:33에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
28013DB 시작시 Auto Commit 이 안 되게 설정하는 방법이 있는지요? [2]
김승동
2009-02-11
5002
28012[자문자답] DB 문자셋 중 변경이 제대로 안 되는 것이 있는데 왜 그런지 아시는분 계시나요? [1]
김승동
2009-02-10
4584
28010중복된 레코드들만 보고 싶습니다. 어떻게 해야 하나요? [1]
정의석
2009-02-10
5287
28009보통 이럴때는 어떻게들 처리 하시나요? [1]
챨스
2009-02-09
4818
28008join 쿼리에서 데이터가 없는 row 만 가져올려면... [1]
초보sql
2009-02-09
4810
28007group by 쿼리 문의 드립니다. [1]
새벽소리
2009-02-06
4660
28006정규화 vs 비정규화 [2]
unclejoe
2009-02-06
5181
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다