두 개의 필드와 개수에 대해 GROUP BY를 구현하기 위해 테이블을 생성해 보겠습니다. 다음은 테이블을 생성하는 쿼리입니다 -
mysql> create table GroupByTwoFieldsDemo −> ( −> Id int, −> Name varchar(200) −> ); Query OK, 0 rows affected (0.53 sec)
테이블에 일부 레코드를 삽입해 보겠습니다. −
mysql> insert into GroupByTwoFieldsDemo values(1,'John'); Query OK, 1 row affected (0.15 sec) mysql> insert into GroupByTwoFieldsDemo values(10,'Johnson'); Query OK, 1 row affected (0.16 sec) mysql> insert into GroupByTwoFieldsDemo values(9,'Carol'); Query OK, 1 row affected (0.14 sec) mysql> insert into GroupByTwoFieldsDemo values(6,'Sam'); Query OK, 1 row affected (0.16 sec) mysql> insert into GroupByTwoFieldsDemo values(5,'David'); Query OK, 1 row affected (0.20 sec) mysql> insert into GroupByTwoFieldsDemo values(10,'Johnson'); Query OK, 1 row affected (0.15 sec) mysql> insert into GroupByTwoFieldsDemo values(6,'Sam'); Query OK, 1 row affected (0.17 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다 -
mysql> select *from GroupByTwoFieldsDemo;
다음은 출력입니다 -
+------+---------+ | Id | Name | +------+---------+ | 1 | John | | 10 | Johnson | | 9 | Carol | | 6 | Sam | | 5 | David | | 10 | Johnson | | 6 | Sam | +------+---------+ 7 rows in set (0.00 sec)
다음은 두 개의 열로 그룹화하고 개수를 계산하는 구문입니다 -
select yourColumnName1,yourColumnName2,....N,count(yourColumnName1) from GroupByTwoFieldsDemo group by yourColumnName1 desc,yourColumName2;
위의 구문을 적용하여 두 개의 열로 그룹화하고 중복 값의 개수를 표시합니다 -
mysql> select Id,Name,count(Id) from GroupByTwoFieldsDemo group by id desc,Name;
다음은 출력입니다 -
+------+---------+-----------+ | Id | Name | count(Id) | +------+---------+-----------+ | 10 | Johnson | 2 | | 9 | Carol | 1 | | 6 | Sam | 2 | | 5 | David | 1 | | 1 | John | 1 | +------+---------+-----------+ 5 rows in set, 1 warning (0.00 sec)