select top 1 month(dateRegistered) from Pet group by month(dateRegistered) order by count(*) desc

解决方案 »

  1.   

    select count(dateregistered) from pet
    where datepart(month,dateregistered)=1
      

  2.   

    SELECT MAX(MC) FROM (
    SELECT MONTH(REQUIREDDATE)AS MC  FROM [NORTHWIND].[DBO].ORDERS GROUP BY MONTH(REQUIREDDATE))
    A
      

  3.   

    select top 1  b.[date],b.[amount]
    from
    (
     select 
     distinct convert(char(7),a.dateRegistered,20) as [date],
     (select count(dateRegistered) from pet where datediff(year,a.dateRegistered,dateRegistered)=0 and datediff(month,a.dateRegistered,dateRegistered)=0 ) as [amount]
     from pet as a 
    ) b
      

  4.   

    应该要考虑到跨年的情况吧
    select t.y,t.m from
    (select y=year(dateRegistered),m=month(dateRegistered) from pet) t
    group by t.y,t.m
    order by count(*) desc
      

  5.   

    select top 1 * from 
    (select count(*) as num,year(dateRegistered) as year,month(dateRegistered) as month from Pet group by year(dateRegistered),month(dateRegistered)) T
    order by num DESC