一个群里的哥们提的这样的需求,很简单,就是分组统计问题。
一张表 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(年)