【发布时间】:2021-07-09 11:47:07
【问题描述】:
我一直在寻找一种方法来执行 MySQL 选择以获取所有最常出现的值。我找到了使用 LIMIT 1 的所有解决方案,但如果有多个值出现相同的次数,这将无济于事。例如:
客户
| ID | FirstName |
|---|---|
| 1 | Bob |
| 2 | Tom |
| 3 | Bob |
| 4 | Robert |
| 5 | Tom |
| 6 | Timothy |
大多数出现的名字的选择应该导致:
| FirstName |
|---|
| Bob |
| Tom |
因为两者都发生了两次。
我尝试了以下方法:
SELECT FirstName FROM (
SELECT FirstName, COUNT(FirstName) as counter FROM customer
GROUP BY FirstName
HAVING counter = MAX(counter)
) s
但这似乎不起作用,我真的很感激朝着正确的方向轻推。
【问题讨论】: