关于在SQL server中按日期分组统计的写法

商帝国咨询头像

阅读 6135 | 分类:文章

关于在SQL server中按日期分组统计的写法
在SQL server数据的日期类型中,长日期和短日期类型都是存储有时间的,而SQL server并没有什么函数

可以把日期分离出来。曾碰到不少对日期进行分组统计的需求。刚开始我是用datepart函数把年月日读取

出来按年月日顺序排成字符串,然后再对其进行分组,这样明显就写出了又臭又长的SQL语句,而且还不

能按日期排序。后来觉得实在是太难看,又想了个办法,设定一个日期界限,用这个日期和日期字段相减

再相加这样就把时间去掉了,比之前的做法就顺眼很多了。不过日子长了又觉得这不是办法,不顺眼,于

是认真查了一下SQL server的函数列表,发现用convert函数可以顺利实现。convert(varchar

(10),date,111)就可以直接把日期提取出来还可以按日期排序,顺眼多了。附一分组统计语句
CREATE TABLE #tmpvote(tdate datetime,tcount int,tmobile varchar(30))
INSERT INTO #tmpvote select convert(varchar(30),stamp,111) as tpdate,count(mobile) 

tpcount,mobile  from tab_vote_his group by convert(varchar(30),stamp,111) ,mobile  order by 

tpdate
select *,convert(varchar(10),tdate,111) from #tmpvote
select count(DISTINCT tmobile),tdate  from #tmpvote where tcount>=20 group by tdate
drop table #tmpvote

留言区(共0条)

暂无留言,快来抢占沙发~
作者声明:非原创
平台声明:文章及评论仅代表作者本人观点,五略商书系信息发布平台,仅提供信息存储空间服务,如有侵权,请联系13521509118。转载请注明作者和出处:转自五略商书m.shangdiguo.com,作者商帝国咨询!