mysql-平均生日最多的一天

xj3cbfub  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(330)

所以我想知道大多数人平均出生的那一天的名字。我做到了:

select dayname(People.birth) as day, count(*)
from People
group by dayname(People.birth)
group by count(*) desc

但这基本上只是返回大多数人出生日期的dayname。我所需要的,是从每个星期中取大多数人出生的那一天,然后从所有星期中取最平常的那一天回来(例如:它返回星期一,因为星期一大多数人出生。不是星期六,因为只有一个星期六很多人出生)。顺便说一句,这张有人的table是这样的:p.id,p.name,p.weight,p.birthdate

bejyjqdl

bejyjqdl1#

如果您希望每周使用星期几,则可以使用:

select t.*
from (select year(p.birth) as yr, week(p.birth) as week, dayname(p.birth) as day, count(*) as cnt,
             row_number() over (partition by year(p.birth), week(p.birth) order by count(*) desc
      from People p
      group by yr, week, day
     ) yw
where seqnum = 1;

相关问题