我有一个简单的表,有两列:
NAME YEARPete 1989John 1989Sloane 1990Derek 1990Steve 1991
NAME YEAR
Pete 1989
John 1989
Sloane 1990
Derek 1990
Steve 1991
我想得到发生频率最高的年份,在这种情况下:
19891990
1989
1990
示例2:
NAME YEARPete 1955John 1955Sloane 1990Derek 1992Steve 1991
Pete 1955
John 1955
Derek 1992
在这种情况下:
1955
wqnecbli1#
这在8.0版之前的mysql中有点棘手。这里有一种方法:
select yearfrom tgroup by yearhaving count(*) = (select count(*) from t group by year order by count(*) desc limit 1 );
select year
from t
group by year
having count(*) = (select count(*)
order by count(*) desc
limit 1
);
下面是一个sql fiddle,演示了它的工作原理。
1条答案
按热度按时间wqnecbli1#
这在8.0版之前的mysql中有点棘手。这里有一种方法:
下面是一个sql fiddle,演示了它的工作原理。