Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

두 개의 필드에서 그룹화를 사용하고 MySQL에서 개수를 계산하시겠습니까?

<시간/>

두 개의 필드와 개수에 대해 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)