반응형
GROUP BY 없이 컬럼값들과 함께 COUNT결과를 출력해보자
일반적으로 COUNT 함수를 사용할 때, COUNT와 함께 컬럼 값을 조회하려면
그 컬럼명들을 GROUP BY뒤에 지정해줘야한다.
SELECT COL1, COl2, COL3, COUNT(*)
FROM 테이블명
GROUP BY COL1, COL2, COL3
만약, GROUP BY 없이 아래와 같이 쿼리를 작성한다면, 오류 메세지를 반환하게 된다.
SELECT COL1, COUNT(*)
FROM 테이블명
메시지 8120, 수준 16, 상태 1, 줄 1
열 '테이블명.COL1'이(가) 집계 함수나 GROUP BY 절에 없으므로 SELECT 목록에서 사용할 수 없습니다.
자, 그렇다면 GROUP BY 없이 컬럼값들과 함께 전체 COUNT를 출력하려면 어떻게 해야 할까?
COUNT() OVER (PARTITION BY 1)를 사용하면 된다.
SELECT *, COUNT(*) OVER(PARTITION BY 1)
FROM 테이블명
[MSSQL] COUNT CASE (조건 카운트) COUNT DISTINCT (중복제거 카운트)
[MSSQL] PARTITION 테이블 분할 함수
반응형
'프로그래밍 > MSSQL' 카테고리의 다른 글
[MSSQL] VARCHAR 타입의 날짜를 DATETIME으로 변경 (날짜변환, 시간변환) (0) | 2017.06.23 |
---|---|
[MSSQL] @@ROWCOUNT 영향 받은 행 수 반환 (0) | 2017.02.15 |
[MSSQL] 정렬 조건 없이 순위 매기기 (순번 지정) (0) | 2017.02.14 |
[MSSQL] 특정 기간에 해당하는 모든 날짜 (MASTER..SPT_VALUES) (0) | 2017.02.13 |
[MSSQL] ORDER BY CASE (조건정렬) (0) | 2017.02.13 |