获取不同的值并在MySQL中计数

要获取不同的值并计算它们,可以使用GROUP BY子句。

语法如下

select yourColumnName,count(*) as anyAliasName from yourTableName group by yourColumnName;

为了理解上述语法,让我们创建一个表。创建表的查询如下

mysql> create table GroupByAndCountDemo

   -> (

   -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,

   -> ClientName varchar(100)

   -> );

使用insert命令在表中插入一些记录。查询如下-

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('Carol');

mysql> insert into GroupByAndCountDemo(ClientName) values('Sam');

mysql> insert into GroupByAndCountDemo(ClientName) values('Sam');

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('Sam');

mysql> insert into GroupByAndCountDemo(ClientName) values('Sam');

mysql> insert into GroupByAndCountDemo(ClientName) values('Sam');

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('John');

mysql> insert into GroupByAndCountDemo(ClientName) values('David');

mysql> insert into GroupByAndCountDemo(ClientName) values('Maxwell');

mysql> insert into GroupByAndCountDemo(ClientName) values('Maxwell');

使用select语句显示表中的所有记录。查询如下-

mysql> select *from GroupByAndCountDemo;

输出如下

+----------+------------+

| ClientId | ClientName |

+----------+------------+

|        1 | John       |

|        2 | Carol      |

|        3 | Sam        |

|        4 | Sam        |

|        5 | John       |

|        6 | John       |

|        7 | John       | 

|        8 | Sam        |

|        9 | Sam        |

|       10 | Sam        |

|       11 | John       |

|       12 | John       |

|       13 | John       |

|       14 | David      |

|       15 | Maxwell    |

|       16 | Maxwell    |

+----------+------------+

16 rows in set (0.00 sec)

现在,让我们获取不同的值并使用以下查询对它们进行计数

mysql> select ClientName,count(*) as TotalCount from GroupByAndCountDemo group by ClientName;

以下是输出

+------------+------------+

| ClientName | TotalCount |

+------------+------------+

| John       |          7 |

| Carol      |          1 |

| Sam        |          5 |

| David      |          1 |

| Maxwell    |          2 |

+------------+------------+

5 rows in set (0.00 sec)

以上是 获取不同的值并在MySQL中计数 的全部内容, 来源链接: utcz.com/z/321841.html

回到顶部