计算MySQL表中具有特定值的三行或更多行的行
让我们首先创建一个表-
mysql> create table DemoTable -> ( -> UserId int -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable values(10); mysql> insert into DemoTable values(20); mysql> insert into DemoTable values(30); mysql> insert into DemoTable values(10); mysql> insert into DemoTable values(10); mysql> insert into DemoTable values(20); mysql> insert into DemoTable values(30); mysql> insert into DemoTable values(10); mysql> insert into DemoTable values(20); mysql> insert into DemoTable values(20); mysql> insert into DemoTable values(40);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
输出结果
+----------+ | UserId | +----------+ | 10 | | 20 | | 30 | | 10 | | 10 | | 20 | | 30 | | 10 | | 20 | | 20 | | 40 | +----------+ 11 rows in set (0.00 sec)
以下是对MySQL表中具有3个或更多行且具有特定值的行进行计数的查询-
mysql> select count(*) -> from (select UserId, count(*) as total -> from DemoTable group by UserId -> )tbl -> where total >=3;
这将产生以下输出,即值10和20出现3次或更多次。因此,计数为2个值-
输出结果
+----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.01 sec)