반응형
SQL은 사용하다보면 특정데이터를 Group을 지어서 개수,합산,평균등을 구해야 하는 경우가 있습니다. 이때 Group by문을 많이 사용하는데 관련 사용법에 대해 알아 보겠습니다.
1. Group by시 사용가능한 함수목록
함수 | 설명 | |
AVG | 평균값을 구합니다. | |
COUNT | count(*) 선택된 개수, count(필드명) NULL인값을 포함하지 않음 | |
SUM | 합계 | |
MIN | 최소값 | |
MAX | 최대값 |
COUNT문 사용시에는 NULL포함유무에 따라 구분하여 사용을 하면됩니다.
2. Group By문 사용법
AdventureWorksLT2022 샘플데이터베이스로 테스트 해보겠습니다. select문으로 조회해보면 아래와 같이 Product테이블에 데이터가 있는 부분을 확인 할 수 있습니다.
Size값으로 그룹을 지어 몇개의 개수가 있는지 확인 해보겠습니다. group by size로 그룹을 짖고 select문에는 size, count(*)와 같이 개수를 파악할 수 있게 입력합니다.
1
2
3
4
5
6
|
/* group by */
SELECT Size, count(Size)
FROM [AdventureWorksLT2022].[SalesLT].[Product]
where ListPrice < 100
group by Size
order by Size
|
3. Group by All사용
group by all문을 사용하면 where조건에 결과값이 없는 경우에도 항목이 표시되는 부분을 확인 할 수 있습니다.
1
2
3
4
5
6
|
/* group by all */
SELECT Size, count(*)
FROM [AdventureWorksLT2022].[SalesLT].[Product]
where ListPrice < 100
group by all Size
order by Size
|
Group by문을 이용하여 그룹을 지을수 있고 Group by와 Group by All의 차이점은 Where조건을 사용시 조건내에 있는 데이터만 표기할지 아니면 Where조건에 제외된 부분도 포함할지에 대한 차이입니다. 두 부분을 모두 알아두어서 사용 용도에 따라 적절하게 사용하시기 바랍니다.
'프로그래밍 > DB' 카테고리의 다른 글
[DB] MSSQL SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결 설정오류 해결방법 (1) | 2023.11.03 |
---|---|
[DB] MSSQL 랜덤함수 사용법. rand() (0) | 2023.08.01 |
[DB] MSSQL 샘플DB 설치하기(AdventureWorks) (0) | 2023.07.24 |
[DB] MSSQL 2022 개발자버전 설치하기 (0) | 2023.06.15 |
[DB] postgresql 사용자 생성 및 권한부여하기 (0) | 2023.06.09 |