/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [CreateDate]
      ,[IP]
      ,[Method]
      ,[Host]
      ,[LocalPath]
      ,[URLQuery]
      ,[Referer]
      ,[UserAgent]
      ,[UserName]
      ,[SourceId]
      ,[System]
      ,[Language]
      ,[BrowserType]
      ,[UserHostName]
  FROM [FPDBanner].[dbo].[StaticsLog]这是查询前100条的语句,我想查询每个月、每年的访问总数,怎么写

解决方案 »

  1.   

    select convert(varchar(7),CreateDate,120) yf , count(1) 月访问总数 from [FPDBanner].[dbo].[StaticsLog] group by convert(varchar(7),CreateDate,120)select year(CreateDate) nf , count(1) 年访问总数 from [FPDBanner].[dbo].[StaticsLog] group by year(CreateDate)
      

  2.   

    select convert(varchar(7),createdate,120) as 月,
    count(1) as 访问数量
    from [FPDBanner].[dbo].[StaticsLog] 
    group by convert(varchar(7),createdate,120)select convert(varchar(4),createdate,120) as 年,
    count(1) as 访问数量
    from [FPDBanner].[dbo].[StaticsLog] 
    group by convert(varchar(4),createdate,120)
      

  3.   

    --月
    group by convert(varchar(7),时间字段,120)--年
    group by datepart(yy,时间字段)
      

  4.   

    select
     convert(varchar(7),时间字段,120) as 月,
     count(1) as 访问数量
    from
     [FPDBanner].[dbo].[StaticsLog] 
    group by
     convert(varchar(7),createdate,120)select
     datepart(yy,时间字段) as 年,
     count(1) as 访问数量
    from
     [FPDBanner].[dbo].[StaticsLog] 
    group by
     datepart(yy,时间字段)
      

  5.   

    取年那个,直接用year即可,你还UP?
      

  6.   

     如果,我用 linq 做的话,效率是不是会差些? 我的数据库的数据量不是很大 
      

  7.   

    直接在数据库里面
    实现没有必要用linq