IT개발/ORACLE

[ORACLE] GROUP BY 없이 count (COUNT OVER PARTITION BY)

뿅아리개발자 2024. 1. 9. 14:09

member 테이블이 있다.

ID NAME GENDER
1 홍길동 M
2 성춘향 F
3 이몽룡 M

 

GROUP BY가 들어가는 쿼리문을 작성해야 다음과 같은 값을 얻을 수 있다.

SELECT GENDER, COUNT(*) AS COUNT FROM MEMBER GROUP BY GENDER;

SELECT ? , COUNT(*) AS COUNT FROM TABLE GROUP BY ?;

 

결과는 

GENDER COUNT
F 1
M 2

 


 

일반 컬럼 모두 COUNT를 같이 조회하고 싶을때는

SELECT NAME
      ,GENDER
      ,COUNT(*) OVER() AS CNT
  FROM MEMBER

 

이렇게 사용하면 쿼리 길이를 줄일 수 있다.

ID NAME GENDER COUNT
1 홍길동 M 2
2 성춘향 F 1
3 이몽룡 M 2