활용?
- 그룹별 rank를 row별로 사용할 때 활용
- 랭크 순위 기준을 order by를 통해 적용, 그룹 기준을 partition by를 통해 적용
- 다수의 컬럼에 적용 가능
- MySQL에서는 기본 제공되지 않은 함수로 커스터마이징하여 활용해야함
ORACLE, Redshift 등 다른 RDB 내의 함수
select rank () over (partition by GROUP_COL order by ORDER_COL) as rank_colname
My SQL 예시
select *
from
(
select @ROW_NUM := IF(@PREV_VALUE = A.GROUP_COLNAME, @ROW_NUM + 1, 1) AS ROW_NUMBER,
@PREV_VALUE := A.GROUP_COLNAME,
A.*
from
(
select *
from temp_table
) A,
(SELECT @ROW_NUM := 1) X,
(SELECT @PREV_VALUE := '') Y
) t1
레퍼런스:
반응형
'기초 튼튼 > 시행착오노트' 카테고리의 다른 글
[elastic beanstalk 에러 해결] The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist. (0) | 2023.09.09 |
---|---|
[시행착오노트] AWS RDS 로컬 피시에서 접근하기 (0) | 2023.03.22 |
[시행착오노트] pandas 고유값 카운트: value_counts() (0) | 2021.06.17 |
[시행착오노트] RDB 접속용 Sequel pro 빌드버전 (0) | 2021.06.15 |
[시행착오노트] Pandas에서 astype 사용시 Null값을 남기고 싶은 경우 (0) | 2021.03.09 |