11-10. "Top-N"분석 > 학습자료 | IOTsw_u2 U2 Project
학습자료

SQL 11-10. "Top-N"분석

본문

 

․ Top-N 질의는 열에서 가장 큰 n개의 값 또는 가장 작은 n개의 값을 요청한다.


예를 들어

- 가장 많이 팔린 제품 10가지는?

- 가장 적게 팔린 제품 10가지는?

 

․ 최대값 집합 및 최소값 집합은 모두 Top-N 질의에 해당한다.

  예를 들어, Top-N분석을 사용하여 다음 유형의 질의를 수행할 수 있다. 

․ 회사의 최상위 소득자 세 명 ․ 회사에 가장 최근에 입사한 신입 사원 네 명 

․ 제품을 가장 많이 판매한 영어 사원 두 명 ․ 최근 6개월 동안 가장 많이 팔린 제품 세 가지

 

“Top-N" 분석 수행 형식

SELECT [(column_list], ROWNUM  -- 정열

FROM (SELECT [column_list] FROM table ORDER BY Top-N_column)

WHERE ROWNUM <= N; -- 다시정열

 

Top-N 질의는 다음에 설명된 요소와 함께 일관성 있는 중첩 질의 구조를 사용한다. 

․ 정렬된 데이터 목록을 생성하는 서브 쿼리 또는 인라인 뷰는 ORDER BY 절을 포함하므로 데이터를 원하는 순서로 정렬 할 수 있다. 

  최대값을 검색하려면 DESC 파라미터가 필요하다. 

․ 최종 결과 집합의 행 수를 제한하는 외부 질의, 외부 질의는 다음 구성 요소를 포함한다. 

․ ROWNUM 의사 열 : 서브 쿼리에서 반환되는 각 행에 1부터 시작하는 순차값을 할당한다. 

․ WHERE 절 : 반환될 n개 행을 지정한다.

  외부 WHERE 절은 < 또는 <= 연산자를 사용해야 한다.

 

MSSQL 디비 예제 :

 

SELECT TOP 3 lname, job_lvl

FROM employee

ORDER BY job_lvl DESC

 

/*

SELECT lname, job_lvl

FROM (SELECT lname, job_lvl FROM employee ORDER BY job_lvl DESC)

WHERE rownum <= 3

 

메시지 1033, 수준 15, 상태 1, 줄 4

TOP 또는 FOR XML을 함께 지정하지 않는 한 뷰, 인라인 함수, 파생 테이블, 하위 쿼리 및 공통 테이블 식에서

ORDER BY 절을 사용할 수 없습니다.

** 인라인 뷰를 이용해서 TOP N분석을 할 수 없다. **

*/

select user_name() --현 사용자 확인​

 

댓글목록

11. 뷰란
이어쓰기 1.A 11-1. 뷰에서 데이터 검색
이어쓰기 2.B 11-2. 뷰 수정
이어쓰기 3.C 11-3. 복합뷰 생성
이어쓰기 4.D 11-4. 뷰를 통한 DML 작업 수행에 관한 규칙
이어쓰기 5.E 11-5. WITH CHECK OPTION 절 사용
이어쓰기 6.F 11-6. DML 작업 거부
이어쓰기 7.G 11-7. 뷰 제거
이어쓰기 8.H 11-8. 인라인 뷰
이어쓰기 9.I 11-10. "Top-N"분석
이 원글에 이어쓰기

학습자료 목록

Total 91건 1 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기