mysql - MySQL COUNT 和 TOP
问题描述
我有一个包含两列的简单表格:
NAME YEAR
Pete 1989
John 1989
Sloane 1990
Derek 1990
Steve 1991
我想得到最常发生的年份,在这种情况下:
1989
1990
示例 #2:
NAME YEAR
Pete 1955
John 1955
Sloane 1990
Derek 1992
Steve 1991
在这种情况下:
1955
解决方案
这在 MySQL 8.0 之前的版本中有点棘手。这是一种方法:
select year
from t
group by year
having count(*) = (select count(*)
from t
group by year
order by count(*) desc
limit 1
);
这是一个 SQL Fiddle,证明它可以工作。
推荐阅读
- javascript - 指向数组中映射的 id
- google-chrome - 为什么这在谷歌浏览器开发工具的范围选项卡中有一个未定义的值?我期待这个:窗口
- c# - 如何在升 C 中四舍五入十进制数?
- ios - 在实际提交应用程序以供启动之前,如何找到我的应用程序的 iOS App Store 下载 url?
- java - 根据成员变量匹配 2 个对象的 ArrayList
- python - 按小时计算json数据的平均值
- intellij-idea - 当有 x=y 之类的代码时,IntelliJ IDE 热键或快捷方式将 x 与 y 交换
- git - 最后如何从 git index 中删除提交?
- c# - 如何在我的 Angular 应用程序中使用从 .net core API 上传的文件?
- css - 为什么 ::before 伪元素在 flexbox 中占用空间?