SQL Server中按照时间进行分组统计

来源:互联网 发布:mac误删除文件恢复 编辑:程序博客网 时间:2024/05/20 07:35

一个群里的哥们提的这样的需求,很简单,就是分组统计问题。


一张表 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、按年统计

select  CONVERT(varchar(7),[VisitDate],120) as 时间,SUM(VisitCount) as 访问次数
from  tb_Visit
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(年)


原创粉丝点击