MySQL 能够使用MySQL获取列中重复值的计数吗?
可以使用ORDER BY DESC与GROUP BY。让我们首先创建一个表 –
mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> PostMessage varchar(100)
-> );
Query OK, 0 rows affected (0.69 sec)
使用插入命令在表中插入一些记录 –
mysql> insert into DemoTable(PostMessage) values('Hi');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(PostMessage) values('Hello');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(PostMessage) values('Hi');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(PostMessage) values('Awesome');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(PostMessage) values('Hello');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable(PostMessage) values('Hi');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(PostMessage) values('Awesome');
Query OK, 1 row affected (0.33 sec)
使用select语句从表中显示所有记录-
mysql> select *from DemoTable;
阅读更多:MySQL 教程
输出
这将产生以下输出 –
+----+-------------+
| Id | PostMessage |
+----+-------------+
| 1 | Hi |
| 2 | Hello |
| 3 | Hi |
| 4 | Awesome |
| 5 | Hello |
| 6 | Hi |
| 7 | Awesome |
+----+-------------+
7 rows in set (0.00 sec)
以下是获取MySQL数据库中值的最高数量的查询 –
mysql> select PostMessage,count(Id) from DemoTable group by PostMessage
-> order by count(Id) DESC;
输出
这将产生以下输出 –
+-------------+-----------+
| PostMessage | count(Id) |
+-------------+-----------+
| Hi | 3 |
| Hello | 2 |
| Awesome | 2 |
+-------------+-----------+
3 rows in set (0.00 sec)
如果您只想要最高值,可以使用以下查询 –
mysql> select PostMessage,count(Id) from DemoTable group by PostMessage having count(Id) > 2;
输出
这将产生以下输出 –
+-------------+-----------+
| PostMessage | count(Id) |
+-------------+-----------+
| Hi | 3 |
+-------------+-----------+
1 row in set (0.00 sec)
极客教程