MySQL COUNT和TOP

时间:2018-08-26 21:56:17

标签: mysql sql

我有一个包含两列的简单表:

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

1 个答案:

答案 0 :(得分:3)

在8.0版之前的MySQL中,这有点棘手。这是一种方法:

select year
from t
group by year
having count(*) = (select count(*)
                   from t
                   group by year
                   order by count(*) desc
                   limit 1
                  );

Here是一个SQL Fiddle,表明它可以正常工作。