MariaDB SQL

MariaDB Group By

ssamhago 2023. 6. 14. 12:24
728x90
320x100

MariaDB Group By

 

 

MariaDB group by 절을 사용하여 데이터를 그룹화하는 방법을 알아봅니다.

 

 

MariaDB group by 절 소개

 

group by 절은 결과의 행을 그룹으로 그룹화합니다. 
다음은 group by 절의 구문을 보여줍니다.

select
    select_list
from
    table_name
group by
    column1, column2,...;

group by는 요소 수(count), 총 값( sum), 최대 요소(max), 최소 요소(min) 및 요소의 평균(avg)을 구하는데 자주 사용되어 집니다.

다음은 집계 함수와 함께 사용되는 group by 절의 구문을 보여줍니다.

select
    column1,
    aggregate_function(column2)
from table_name
group by column1;

이 구문에서 group by 절은 행을 그룹으로 그룹화하고 집계 함수를 각 그룹에 적용하여 요약 행을 반환합니다.

 

 

 

MariaDB group by 절 예제

 

데모를 위해 nation 샘플 데이터베이스의 countries 및 regions 테이블을 사용합니다.

nation DB

 

 

1) count() 함수 예제와 함께 MariaDB group by 절 사용

 

다음 문은 count() 함수와 함께 group by 절을 사용하여 각 지역의 국가 수를 가져옵니다.

select region_id, count(country_id)
from countries
group by region_id
order by region_id;

group by region_id

이 예에서:

  • 먼저 group by 절은 국가를 지역별로 나눕니다.
  • 그런 다음 각 지역에 count() 함수를 적용하여 국가 수를 반환합니다.

 

출력을 보다 의미 있게 만들려면 countries 테이블을 regions 테이블과 조인할 수 있습니다.

select regions.name, count(country_id) country_count
from countries
inner join regions using (region_id)
group by regions.name
order by regions.name;

with inner join

 

 

2) sum() 함수와 함께 MariaDB group by 절 사용

 

다음 예에서는 sum() 함수와 함께 group by 절을 사용하여 각 지역에 있는 국가의 총 면적을 계산합니다.

select regions.name region, sum(area) region_area
from countries
inner join regions using (region_id)
group by regions.name
order by region_area desc;

sum() group by

 

 

3) min() 및 max() 함수와 함께 MariaDB group by 절 사용

 

다음 예에서는 min() 및 max() 함수와 함께 group by 절을 사용하여 각 지역에서 국가의 최소 및 최대 영역을 찾습니다.

select
    regions.name region,
    min(area) smallest_country_area,
    max(area) largest_country_area
from countries
inner join regions using (region_id)
group by regions.name
order by regions.name;

min() max() group by

 

 

4) avg() 함수와 함께 MariaDB group by 절 사용

 

다음 예에서는 avg() 함수와 함께 group by 절을 사용하여 각 지역에 있는 국가의 평균 면적을 계산합니다.

select
    regions.name region,
    avg(area) avg_area
from countries
inner join regions using (region_id)
group by regions.name
order by avg_area desc;

avg() group by

 

 

이상으로 MariaDB group by 절을 사용하여 데이터를 그룹화하는 방법을 알아봤습니다.

 

 

※ 원문출처 : https://www.mariadbtutorial.com/mariadb-basics/mariadb-group-by/

 

728x90
반응형

'MariaDB SQL' 카테고리의 다른 글

MariaDB Subqueries  (0) 2023.06.16
MariaDB Having  (0) 2023.06.15
MariaDB Left Join  (0) 2023.06.13
MariaDB Inner Join  (0) 2023.06.08
MariaDB Join  (0) 2023.06.07