向大家请教一个按每天做统计的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
...全文
66 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
不同月份也这么算?
昵称被占用了 2008-03-31
  • 打赏
  • 举报
回复
建议不要跨月查询
昵称被占用了 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)


34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧