MySQL查询以选择具有多次出现的值并显示其计数
为此,请使用GROUPBYHAVING子句。让我们首先创建一个表-
mysql> create table DemoTable673( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value int );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable673(Value) values(10); mysql> insert into DemoTable673(Value) values(20); mysql> insert into DemoTable673(Value) values(10); mysql> insert into DemoTable673(Value) values(30); mysql> insert into DemoTable673(Value) values(20); mysql> insert into DemoTable673(Value) values(10); mysql> insert into DemoTable673(Value) values(10);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable673;
这将产生以下输出-
+----+-------+ | Id | Value | +----+-------+ | 1 | 10 | | 2 | 20 | | 3 | 10 | | 4 | 30 | | 5 | 20 | | 6 | 10 | | 7 | 10 | +----+-------+ 7 rows in set (0.00 sec)
以下是仅显示具有多次出现的值的查询-
mysql> select Id,count(*) as myValue from DemoTable673 group by Value having count(*) > 1;
这将产生以下输出-
+----+---------+ | Id | myValue | +----+---------+ | 1 | 4 | | 2 | 2 | +----+---------+ 2 rows in set (0.00 sec)