MySQL 如何查询重复次数大于 N 的数据的个数?

尽可能高效,最好给出完整的 SQL 语句;如果有多种方法,可以都列出来对比一下。 举例说明: 例如对下表, name --- 1 2 2 2 3 3 …
关注者
43
被浏览
33,311

5 个回答

最简单直观的就是

select name, count(name) as c from table_name group by name having c > N;

在name上面做索引

explain一下大概就是

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

| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

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

| 1 | SIMPLE | test | index | NULL | id_index | 4 | NULL | 9 | Using index |

group by 是一种方法

吐槽一下楼主,换个列名吧,id重复了还能叫id吗?