반응형
일별, 주별, 월별, 년도별, 요일별로 카운트를 계산해보자
DATEPART, DATENAME 함수를 이용한다.
일별/주별/월별/년도별/요일별
-- 일 단위로 카운트 SELECT DATEPART(DAY, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(DAY, 날짜) -- 주 단위로 카운트 SELECT DATEPART(WEEK, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(WEEK, 날짜) -- 월 단위로 카운트 SELECT DATEPART(MONTH, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(MONTH, 날짜) -- 년 단위로 카운트 SELECT DATEPART(YEAR, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATEPART(YEAR, 날짜) -- 요일 단위로 카운트 SELECT DATENAME(DW, 날짜), COUNT(*) FROM 테이블명 GROUP BY DATENAME(DW, 날짜)
예제 |
WITH TEST_A (날짜) AS ( SELECT '2017-01-01' UNION ALL SELECT '2017-02-01' UNION ALL SELECT '2017-02-16' UNION ALL SELECT '2017-02-22' UNION ALL SELECT '2018-03-01' ) SELECT * FROM TEST_A
다음과 같은 데이터가 있을때, 해당 날짜들을 일별로 묶어서 카운트를 세보자
WITH TEST_A (날짜) AS ( SELECT '2017-01-01' UNION ALL SELECT '2017-02-01' UNION ALL SELECT '2017-02-16' UNION ALL SELECT '2017-02-22' UNION ALL SELECT '2018-03-01' ) SELECT DATEPART(DAY, 날짜) AS '날짜' , COUNT(*) AS 'Cnt' FROM TEST_A GROUP BY DATEPART(DAY, 날짜)
GROUP BY DATEPART(DAY, 날짜) 로 그룹화해서 COUNT(*)를 세면 된다.
반응형
'프로그래밍 > MSSQL 정리필요' 카테고리의 다른 글
[DB_MSSQL] WHERE LIKE '%Parameter%' (LIKE절에 파라미터 사용) (0) | 2017.02.14 |
---|---|
[DB_MSSQL] INDEX 인덱스 (0) | 2017.02.13 |
[DB_MSSQL] 돈 금액 천단위 콤마 찍기 (0) | 2017.02.13 |
[DB_MSSQL] 프로시저/테이블/컬럼 조회 (INFORMATION_SCHEMA) (0) | 2017.02.09 |
[DB_MSSQL] 테이블명/컬럼명 변경 (SP_RENAME) (0) | 2017.02.09 |