15 Days of Learning SQL

  • + 0 comments

    with a as (select submissionDate, hackerid , count() as submissiontimes from submissions group by submissionDate, hackerid ), b as (select ,Rownumber()over(partition by submissionDate order by submissiontimes desc, hackerid) as seq from a), e as (select ,day(submissionDate) as submissionDay,Denserank()over(partition by hackerid order by submissionDate) as seq from submissions) select c.submissionDate, f.num ,c.hackerid,d.name from (select from b where seq=1 ) c left join hackers d on c.hackerid=d.hackerid left join (select submissionDate,count(distinct hackerid) as num from e where submissionDay=seq group by submissionDate) f on c.submissionDate = f.submissionDate order by submissionDate;