sql 按日期分组查询

在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

 



SELECT Count(convert(varchar(10),RegTime,111)), convert(varchar(10),RegTime,2)
FROM MemberInfo
Group by convert(varchar(10),RegTime,2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值