天天看點

SQL Server中按照時間進行分組統計

一個群裡的哥們提的這樣的需求,很簡單,就是分組統計問題。

一張表 tb_Visit

Guid    VisitDate   VisitCount

編号     通路時間     通路次數

要求是能根據年月及年份進行通路次數統計,并能夠根據通路次數進行排序,形式如  年-月   通路次數/  年   通路次數

後來給他寫的SQL語句如下:

1、按年月統計

select  CONVERT(varchar(7),[VisitDate],120) as 時間,SUM(VisitCount) as 通路次數

from  tb_Visit

group by  CONVERT(varchar(7),[VisitDate],120) order by 通路次數 desc;

2、按年統計

group by  CONVERT(varchar(4),[VisitDate],120) order by 通路次數 desc;

總結:convert函數的第三個參數120的意思是時間格式遵循: yyyy-MM-dd hh:MM:ss格式,所有第一個參數varchar(n)中的n長度就決定是取幾位數。

7: yyyy-MM(年-月)

4:yyyy(年)