태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Oracle rank 함수 Mysql 사용가능?

|

select a.* from (
select tmp.*,
rank() over (partition by mail_ymd order by (send+blocks) desc) as rank
from ( 
  select mail_ymd, org_nm,
   sum(i_normal_sum+o_normal_sum) send,
   sum(i_block_sum+o_block_sum) blocks,
   sum(i_block_control+o_block_control) control,
   sum(i_block_filter+o_block_filter) filters,
   sum(i_block_spam+o_block_spam) spam,
   sum(i_block_user+o_block_user) users,
   sum(i_block_virus+o_block_virus) virus
  from ar_day_mail
  where mail_ymd between '20070106' AND '20070107'
  group by org_nm, mail_ymd
  )tmp
)a
where rank<11


이쿼리는 오라클에서 날짜별로 상위 10개의 데이터를 검색하는것입니다.

mysql을 사용해서 이와 같은 내용의 결과가 나오도록 하고 싶은데요

알려주세요

-----------------------------------------------------------------------

rank 함수는 mysql에서는 지원하지 않습니다.

따라서 서브쿼리에서 order by 로 정렬을 해준다음

Limit 10 으로 해서 잘라오는 수밖엔 없습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License

'데이타베이스 > Mysql' 카테고리의 다른 글

Mysql 기본참고 사항  (0) 2008/06/22
Mysql - 튜닝 (최적화)  (0) 2008/06/22
Oracle rank 함수 Mysql 사용가능?  (2) 2008/06/22
Mysql explain  (0) 2008/06/22
Mysql 서버 5.0의 신기능  (0) 2008/06/22
Mysql Explain 정보보는법  (0) 2008/06/22
Trackback 0 And Comment 2
prev | 1 ... | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 ... | 272 | next