이를 위해 where 대신 have 절을 사용하십시오. 먼저 테이블을 생성하겠습니다 -
mysql> create table DemoTable1338 -> ( -> Name varchar(10), -> Score int -> ); Query OK, 0 rows affected (1.54 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 여기에 점수가 있는 중복 이름을 삽입했습니다 -
mysql> insert into DemoTable1338 values('Chris',8); Query OK, 1 row affected (0.80 sec) mysql> insert into DemoTable1338 values('Bob',4); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable1338 values('Bob',9); Query OK, 1 row affected (0.27 sec) mysql> insert into DemoTable1338 values('Chris',6); Query OK, 1 row affected (0.27 sec) mysql> insert into DemoTable1338 values('David',5); Query OK, 1 row affected (0.23 sec) mysql> insert into DemoTable1338 values('David',7); Query OK, 1 row affected (0.40 sec)
select 문을 사용하여 테이블의 모든 레코드 표시 -
mysql> select * from DemoTable1338;
이것은 다음과 같은 출력을 생성합니다 -
+-------+-------+ | Name | Score | +-------+-------+ | Chris | 8 | | Bob | 4 | | Bob | 9 | | Chris | 6 | | David | 5 | | David | 7 | +-------+-------+ 6 rows in set (0.00 sec)
다음은 중복 개별 요소의 평균을 찾는 쿼리입니다. -
mysql> select Name,avg(Score) from DemoTable1338 -> group by Name -> having avg(Score) < 9.5 -> order by avg(Score);
이것은 다음과 같은 출력을 생성합니다 -
+-------+------------+ | Name | avg(Score) | +-------+------------+ | David | 6.0000 | | Bob | 6.5000 | | Chris | 7.0000 | +-------+------------+ 3 rows in set (0.00 sec)