SQL 응용 - 복습 2

강용구·2021년 5월 13일
SELECT *
  FROM ( SELECT ACC_LOC_NAME 사고장소
              , ACC_CNT 사고건수
              , RANK() OVER(ORDER BY ACC_CNT DESC NULLS LAST) as 순위
           FROM ACC_LOC_DATA
           WHERE ACC_YEAR = 2017)
  WHERE 순위 <= 5

FROM절의 서브쿼리에서 교통사고 건수가 많은 순으로 순위를 부여하여 결과를 출력한다. 그리고 메인 쿼리에서 서브 쿼리의 결과 중 순위 5위까지만 제한을 걸어 출력한다.

SELECT 년도 "치킨집 폐업 연도"
     , 치킨집 "건수"
  FROM (SELECT 년도
             , 치킨집
             , RANK() OVER (ORDER BY 치킨집 DESC NULLS LAST) 순위
          FROM CLOSING)
  WHERE 순위 = 1


FROM절의 서브쿼리문에서 치킨집 폐업 건수가 높은 순으로 순위를 출력한다. 그리고 메인 쿼리문의 WHERE 절에서 순위가 1위의 데이터만 출력합니다.

profile
Lifetime Value Creator

0개의 댓글