반응형
이번에는 Select 문의 Group 을 알아보겠습니다.
Group by 를 사용하게 되면, 여러 값들을 집계함수를 사용하여 편리하게 계산하거나, 결과를 출력 할 수 있습니다.
(2)에서 사용한 테이블 그대로 사용하겠습니다.
age_users
+----+----------+-----+
| id | username | age |
+----+----------+-----+
| 1 | ryu | 20 |
| 2 | choi | 31 |
| 3 | kim | 34 |
| 4 | joe | 45 |
| 5 | park | 22 |
+----+----------+-----+
users
+----+----------+------------------+---------------------+
| id | username | email | created_at |
+----+----------+------------------+---------------------+
| 1 | ryu | ryu@test.com | 2024-03-13 22:14:42 |
| 2 | kim | kim@test.com | 2024-03-13 22:54:12 |
| 3 | joe | joe@test.com | 2024-03-13 22:54:12 |
| 4 | choi | choi@test.com | 2024-03-13 22:54:12 |
| 5 | ryu | ryutest@test.com | 2024-03-14 00:39:07 |
+----+----------+------------------+---------------------+
위 테이블에서 age_user 에서의 age 값을 기준으로 count를 확인하고 싶다 하면,
select age, count(*) as user_count from age_users group by age;
+-----+------------+
| age | user_count |
+-----+------------+
| 20 | 1 |
| 22 | 1 |
| 31 | 1 |
| 34 | 1 |
| 45 | 1 |
+-----+------------+
age_users 테이블에서 age 라는 칼럼을 그룹화(20,22,31,34,45),
age 칼럼 별 count한 값을 user_count 라는 칼럼으로 반환합니다.
insert 로 나이가 20인 사람을 한명 더 추가해서 결과를 보겠습니다.
MariaDB [test]> select age, count(*) as user_count from age_users group by age;
+-----+------------+
| age | user_count |
+-----+------------+
| 20 | 2 |
| 22 | 1 |
| 31 | 1 |
| 34 | 1 |
| 45 | 1 |
+-----+------------+
AVG, SUM 등의 함수도 사용 가능합니다.
그룹화 된 age 합 > select age, count(*) as count, sum(age), avg(age) from age_users group by age;
+-----+-------+----------+----------+
| age | count | sum(age) | avg(age) |
+-----+-------+----------+----------+
| 20 | 2 | 40 | 20.0000 |
| 22 | 1 | 22 | 22.0000 |
| 31 | 1 | 31 | 31.0000 |
| 34 | 1 | 34 | 34.0000 |
| 45 | 1 | 45 | 45.0000 |
+-----+-------+----------+----------+
반응형
'Database' 카테고리의 다른 글
[Database] MariaDB - Select, Insert, Update, Delete(5) (0) | 2024.03.18 |
---|---|
[Database] MariaDB - Select, Insert, Update, Delete(4) (0) | 2024.03.18 |
[Database] MariaDB - Select, Insert, Update, Delete(2) (0) | 2024.03.14 |
[Database] MariaDB - Select, Insert, Update, Delete(1) (0) | 2024.03.14 |
[Database] MariaDB Install (0) | 2024.03.13 |