ID | NAME | CAR |
1 | kim | audi |
2 | lee | audi |
3 | park | benz |
만약 USER_CAR 테이블이 이렇게 있고, 내가 조회하고 싶은 것은
id, name, car, count(차 종류) 라고 하자
일단 이 GROUP BY 가 들어가는 쿼리문을 작성해야 다음과 같은 count 결과값을 얻을 수 있다.
SELECT CAR, COUNT(*) AS COUNT FROM USER_CAR GROUP BY CAR;
CAR | COUNT |
audi | 2 |
benz | 1 |
하지만 ID, NAME, CAR, COUNT 이렇게 일반 컬럼과 COUNT를 같이 조회하고 싶다면?
SELECT ID, NAME, CAR, COUNT(*) AS COUNT OVER(PARTITION BY CAR) FROM USER_CAR;
ID | NAME | CAR | COUNT |
1 | kim | audi | 2 |
2 | lee | audi | 2 |
3 | park | benz | 1 |
이렇게 COUNT OVER(PARTITION BY ) 를 사용하면 된다!
서브쿼리를 사용할 필요가 없기때문에 쿼리 길이를 줄일 수 있다.
참고 : https://ggmouse.tistory.com/153
참고 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yf2121&logNo=140197829111
'개발 > database' 카테고리의 다른 글
[Oracle] programmers - NULL 처리하기 (0) | 2021.08.05 |
---|---|
[Oracle] programmers - DATETIME에서 DATE로 형 변환 (0) | 2021.08.05 |
[Oracle] programmers - 오랜 기간 보호한 동물(2) (0) | 2021.08.05 |
[Oracle] programmers - 중성화 여부 파악하기 (0) | 2021.08.05 |
[Oracle] programmers - 이름에 el이 들어가는 동물 찾기 (0) | 2021.08.05 |