[BigQuery] 4. 원하는 데이터 만들기: 1) ORDER BY, RANK

김주아·2024년 7월 29일
0

BigQuery

목록 보기
8/10
post-custom-banner

데이터 줄 세우기

  • ORDER BY: 가져온 데이터를 정렬해주는 키워드
    • ORDER BY [컬럼 이름]으로 사용
      • 입력한 [컬럼 이름]의 값을 기준으로 모든 row 정렬
    • 기본 정렬 규칙은 오름차순
      • ORDER BY [컬럼 이름] = ORDER BY [컬럼 이름] ASC
      • 내림차순: ORDER BY [컬럼 이름] DESC
    • 여러 컬럼으로 정렬도 가능하며, 키워드 뒤에 [컬럼 이름]을 복수개 입력하면 됨
      • 위치한 순서대로 정렬됨
        • ex. ORDER BY [컬럼1], [컬럼2] ⇒ [컬럼1]을 기준으로 정렬 → [컬럼1] 값이 동일한 로우 간에(만) [컬럼2]를 기준으로 정렬
    • 컬럼 번호로도 정렬 가능
      • 이 때, 컬럼 번호는 SELECT 절의 컬럼 이름 순서를 의미함

-- ORDER BY절에 여러컬럼 지정 가능
SELECT *
FROM BigQuery.mypokemon
ORDER BY attack DESC, defense;

-- 컬럼 번호로 정렬 가능
-- 위의 쿼리랑 동일한 결과값 도출
SELECT *
FROM BigQuery.mypokemon
ORDER BY 4 DESC, 5;

데이터 순위 만들기

  • RANK: 데이터를 정렬해 순위를 만들어주는 함수
    • RANK () OVER (ORDER BY [컬럼 이름]) 형식으로 사용
      • 항상 ORDER BY와 함께 사용
    • SELECT절에 사용하며, 정렬된 순서에 순위를 붙인 새로운 컬럼을 보여줌
      • 테이블의 실제 데이터에는 영향을 미치지 않음
    • RANK는 순위를 메겨주는 함수이지 정렬을 시켜주는 함수가 아님
      • 실질적인 정렬은 ORDER BY 절에서 이루어짐을 기억하기
  • 데이터 순위 만들기: 데이터를 정렬해 순위를 만들어주는 함수 3가지
    • RANK: 공통순위가 있을 경우, 다음 순위로 건너 뜀
    • DENSE_RANK: 공통순위가 있어도 다음순위로 뛰어넘지 않음
    • ROW_NUMBER: 공동 순위 자체를 무시함
profile
정확한 분석과 설득력 있는 시각화를 통해 데이터의 가치를 극대화합니다.
post-custom-banner

0개의 댓글