한 학교에서 서울 인 사람만 뽑습니다.
그인원이 20만 명이라고 합니다.
그럼 그 인원이 속해있는 반에서 성적 1~5위를 뽑아야 합니다.
(검색된 학생이 모두 다른반이라고 가정했을때 반이 20만개가 될수도 있습니다.)
현재는 20만명 루프돌아서 뽑고 해당 학생의 반을 조건으로 성적 order by 조건으로 limit 주고있습니다. 그러니 query를 20만번 돌기때문에 너무 안좋은거같아요
어떻게 처리해야 할까요?
혹시 테이블이 어떻게 이루어져있는지 알수잇을까요? 말씀한 데이터가 모두 한테이블에 있다고 가정하였지만 다른테이블과 조인을 우려하여 조인문으로 작성하였습니다. 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 짧은 소견으로 이렇게 하면될듯하긴한데요 어제 좀 무리를햇더니 머리가 아프네요 ㅋ~