변동값을 group by 하는 tip
예를 들어 각 나이대별 00 건수 데이터를 뽑고 싶을 때
구분 | 5년이상 10년이하 | 10년이상 15년이하 | 15년이상 20년이하 | ~~~ |
20세 ~ 30세 | ||||
30세 ~ 40세 | ||||
40세~ 80세 | ||||
위와 같은 표의 데이터를 뽑을 때 처음에 어떻게 데이터를 뽑아야 할지 머리가 안 돌아갔다.
구분값이 다 변동값인데 이걸 어떻게 group by로 뽑아내지 하다가 문득 든 생각
20세와 30세를 그룹으로 묶고 30세~40세를 그룹으로 묶어 버리자.
그래서 gruop by를 하기 전 case when 컬럼1 between 20 and 30 then '1'
when 컬럼1 between 30 and 40 then '2'
...
이런 방식으로 그룹핑을 지어주었다. 그리고 또한 기간도 case when 컬럼2 between 5년 between 10년 then '1'
when 컬럼2 between 10년 and 15년 then '2'
이렇게 변동값을 그룹으로 한정해버리고 쿼리 추출!!
쿼리는 항상 너무 어렵다 ㅠㅠ
'데이터베이스' 카테고리의 다른 글
느린 통계 쿼리 출력하기 tip (0) | 2024.01.23 |
---|---|
Oracle 통계 쿼리 작성 시 값이 없어도 group by 값 나오게 하기 (0) | 2024.01.23 |
Oracle 각 조건별 건수 구하기 (1) | 2024.01.10 |
Oracle ~~초과 ~~ 미만 구하기 (0) | 2024.01.10 |
SQL Server Job 스케줄러 생성 (0) | 2023.12.26 |