이를 위해 GROUP BY HAVING 절을 사용하십시오.
먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable782 ( Name varchar(100), Score int ); Query OK, 0 rows affected (1.18 sec)
삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -
mysql> insert into DemoTable782 values('John',156); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable782 values('Carol',250); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable782 values('Bob',140); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('John',126); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable782 values('John',140); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('Bob',280); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('Bob',250); Query OK, 1 row affected (0.41 sec) mysql> insert into DemoTable782 values('Carol',189); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable782 values('Carol',299); Query OK, 1 row affected (0.21 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select *from DemoTable782;
그러면 다음과 같은 출력이 생성됩니다. -
+-------+-------+ | Name | Score | +-------+-------+ | John | 156 | | Carol | 250 | | Bob | 140 | | John | 126 | | John | 140 | | Bob | 280 | | Bob | 250 | | Carol | 189 | | Carol | 299 | +-------+-------+ 9 rows in set (0.00 sec)
다음은 열별로 그룹화하고 유사한 값의 합계를 표시하는 쿼리입니다 -
mysql> select Name,SUM(Score) AS Total from DemoTable782 group by Name HAVING Total > 500;
그러면 다음과 같은 출력이 생성됩니다. -
+-------+-------+ | Name | Total | +-------+-------+ | Carol | 738 | | Bob | 670 | +-------+-------+ 2 rows in set (0.00 sec)