반응형
계속 이어나가는 데이터분석공부입니다. SQL의 기초 기본구문을 공부중입니다. 회사에서 데이터 다루시면 순위가 중요할 수 밖에 없는데요. 회사에서 중요한것은 실적 그 자체이기 때문입니다.
저는 계속 '패스트캠퍼스'의 'SQL 100제 + 자격증 완성온라인반' 를 듣고있습니다. 이어서 순위함수인 ' ROW NUMBER, RANK OVER, DENSE RANK ' 편을 요약해봅니다.
그런데 이 함수를 이해하기 위해서는 우선 'PARTITION BY' 구문을 먼저이해하는게 필요할 것 같습니다.
항상 이 구문과 거의 세트처럼 다니더라구요.
- PARTITION BY -
우리가 흔히 아는 '파티션' 즉 구획을 나누는 그 의미를 연상하면 됩니다. 즉 데이터를 분류하는 기준!
반응형
[ ROW_NUMBER ( ) OVER ] : 동일한 값이 있어도 앞 분류기준 ( PARTITION BY ) 에 의하여 값의 순위를 매긴다.
아래는 'B group_name'에 의하여 순위를 price기준으로 정렬한다. 순번을 보여준다.
아래 DENSE_RANK와 비교하면 ROW NUMBER () OVER에는 겹치는 순위가 업다는 뜻.
[ RANK ] : 동일값이 있으면 건너뛰는 것.
아래 예를 공동1등 매기고... 그다음 3등으로 가는 것.
[ DENSE RANK ] : 공동순위가 있더라도 그다음값을 2등으로 치환해준다.
반응형
'데이터분석공부' 카테고리의 다른 글
데이터분석공부 기초SQL HOUR함수 (0) | 2022.05.28 |
---|---|
데이터분석공부 SQL조인종류 정리 (0) | 2022.05.28 |
데이터분석공부 기초SQL To char / To date (0) | 2022.05.28 |
데이터분석공부 SQL기초 CASE WHEN THEN ELSE END AS (0) | 2022.05.28 |
데이터분석공부 SQL LIKE % (0) | 2022.05.28 |