向大家请教一个按每天做统计的SQL问题~!

facepp 2008-03-31 10:09:59
向大家请教一个按每天做统计的SQL问题~!
假如表是这样的

G_ID vtime shu
1 2006-8-9 8:22:09 100
2 2006-8-9 8:22:09 100
3 2006-8-10 8:22:09 100
4 2006-8-10 8:22:09 100

我想最终页面这样显示


9日 200
10日 200
...全文
46 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
areswang 2008-03-31
create table tb(g_id int,vtime datetime,shu int)
go
insert into tb select 1,'2006-8-9 8:22:09',100
union all
select 2,'2006-8-9 8:22:09',100
union all
select 3,'2006-8-10 8:22:09',100
union all
select 4,'2006-8-10 8:22:09',100

select DATENAME(DAY,vtime)+'日',sum(shu) from tb group by vtime
---------------------
9日 200
10日 200
回复
-狙击手- 2008-03-31
select
datepart(d,vtime) as 日期,
sum(shu) as shu
from tab
group by datepart(d,vtime)
回复
dawugui 2008-03-31
[Quote=引用楼主 facepp 的帖子:]
向大家请教一个按每天做统计的SQL问题~!
假如表是这样的

G_ID vtime shu
1 2006-8-9 8:22:09 100
2 2006-8-9 8:22:09 100
3 2006-8-10 8:22:09 100
4 2006-8-10 8:22:09 100

我想最终页面这样显示


9日 200
10日 200
[/Quote]

我觉得还是按年月日的好.

select convert(varchar(10),vtime,120) ymd , sum(shu) shu from tb group by convert(varchar(10)
回复
viva369 2008-03-31
select
day(vtime),
sum(shu)
from tab
group by day(vtime)
回复
dawugui 2008-03-31
不同月份也这么算?
回复
建议不要跨月查询
回复
select 
day(vtime) as 日期,
sum(shu) as shu
from tab
where vtime>='2006-8-1' and vtime<'2006-9-1'
group by day(vtime)

回复
playwarcraft 2008-03-31
group by day(vtime)
======================
不過建議用這個
group by convert(char(10),vtime,120)


回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-31 10:09
社区公告
暂无公告