你的位置:首页 > 数据库

[数据库]sql server根据日期或者月份查询聚合数据


 /*****************************根据时间查询每天的数据***************************************/

  @tm_start:开始时间

  @tm_end:结束时间


  sql语句:       

  Select CONVERT(DATE, c.dt_rec) DT,COUNT(*) CT
      From dbo.YY_client c
      where c.dt_rec between  CONVERT(varchar(50),@tm_start,20) and CONVERT(varchar(50),@tm_end,20)
      Group by CONVERT(DATE,  c.dt_rec) Order by CONVERT(DATE, c.dt_rec) desc

  结果:

  

 

 /*****************************按照时间查询每月的数据***************************************/

 sql语句:

  SELECT (CAST(YEAR(c.dt_rec) AS VARCHAR(4)) + '-' + CAST(MONTH(c.dt_rec) AS VARCHAR(2))) DT, COUNT(*) CT
    From dbo.YY_client c
    WHERE  c.dt_rec between @tm_start and @tm_end
    GROUP BY (CAST(YEAR(c.dt_rec) AS VARCHAR(4)) + '-' + CAST(MONTH(c.dt_rec) AS VARCHAR(2)))
    ORDER BY (CAST(YEAR(c.dt_rec) AS VARCHAR(4)) + '-' + CAST(MONTH(c.dt_rec) AS VARCHAR(2))) DESC

  结果: