如何进行时段统计?

bwe2009 2012-03-13 05:05:57
比如有个数据库,有个字段叫发布时间,是datetime类型。里面的数据大概是"2012-3-11 10:00:01"这样的
请问如何写sql语句,实现按时段统计,即每小时内有多少数据,谢谢。
...全文
120 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
agai 2012-03-14
  • 打赏
  • 举报
回复
GROUP BY 左边13个字符
老幺静好 2012-03-14
  • 打赏
  • 举报
回复
select Count(*)
from 表
where 发布时间>='2012-3-11 10:00:00' and 发布时间<'2012-3-11 11:00:00'
bwe2009 2012-03-14
  • 打赏
  • 举报
回复
ado1.CommandText :='SELECT COUNT(*),Format(发布时间,"HH")就可以了
bwe2009 2012-03-14
  • 打赏
  • 举报
回复
直接写肯定是错的,ado1.CommandText :='SELECT COUNT(*),Format(发布时间,HH)。。。。
这样写说HH参数没找到
我看见佛 2012-03-13
  • 打赏
  • 举报
回复
ado1.CommandText :='SELECT COUNT(*),Format(发布时间,:pk1) FROM wbdata GROUP BY Format(发布时间,:pk1)';
ado1.Parameters.ParamByName('pk1').Value :='HH';
ado1.Open ;

//ado1.CommandText :='SELECT COUNT(*),Format(发布时间,:pk1),Format(发布时间,:pk1)这里不这里不能:pk1参数不能这么写,直接ado1.CommandText :='SELECT COUNT(*),Format(发布时间,HH)或拼接变量
bwe2009 2012-03-13
  • 打赏
  • 举报
回复
ado1.CommandText :='SELECT COUNT(*),Format(发布时间,:pk1) FROM wbdata GROUP BY Format(发布时间,:pk1)';
ado1.Parameters.ParamByName('pk1').Value :='HH';
ado1.Open ;

运行这个出现“不正常地定义参数对象。。。。”请问怎么办?
bwe2009 2012-03-13
  • 打赏
  • 举报
回复
access 数据库不支持convert
kaikai_kk 2012-03-13
  • 打赏
  • 举报
回复
where dt between ... and ...

条件也不会写???只要符合日期格式就行了
Corn1 2012-03-13
  • 打赏
  • 举报
回复
这样得到的结果是:
时间段 记录条数
2012-03-12 10 5
2012-03-12 11 6
..
Corn1 2012-03-13
  • 打赏
  • 举报
回复

select convert(varchar(13), 发布时间, 120) as 时间段, count(*) as 记录条数 from Table group by convert(varchar(13), 发布时间, 120)
我看见佛 2012-03-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 case5166 的回复:]
SQL code
select * from table1 where dt <= getdate() and dt >= dateadd(hh,-1, getdate())
Sql server 的写法
[/Quote]这个就是当前时间的前一小时,不知道是否为你所需要的
bwe2009 2012-03-13
  • 打赏
  • 举报
回复
统计各时段分别有多少
bwe2009 2012-03-13
  • 打赏
  • 举报
回复
不对的,是对每天24小时内统计,不是特定时段
haitao 2012-03-13
  • 打赏
  • 举报
回复
convert把时间字段转为'yyyy-mm-dd hh:mm:ss'字符串,按其左边13个字符group
我看见佛 2012-03-13
  • 打赏
  • 举报
回复
select * from table1 where dt <= getdate() and dt >= dateadd(hh,-1, getdate())
Sql server 的写法
山东蓝鸟贵薪 2012-03-13
  • 打赏
  • 举报
回复

给分吧
山东蓝鸟贵薪 2012-03-13
  • 打赏
  • 举报
回复
select *
from 表
where 发布时间>='2012-3-11 10:00:01' and 发布时间>='2012-3-11 10:59:59'

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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