求按时段统计sql查询语句,高手帮帮忙啊

qq82655753 2011-10-26 09:23:23
有一数据表,存放访客的浏览记录,想统计按0--24小时每时段的访问数,SQL语句如何实现?ACCESS能否实现?

表如下:

ip 日期
42.168.2.5 2011-10-23 00:17:21
88.68.23.56 2011-10-23 00:57:21
142.68.4.33 2011-10-23 01:11:26
192.138.2.6 2011-10-23 01:26:22
92.178.22.57 2011-10-23 08:40:25
132.188.21.205 2011-10-23 12:30:28
195.148.28.58 2011-10-23 14:26:23
182.128.82.95 2011-10-23 23:27:29
...全文
58 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
-晴天 2011-10-27
补上24小时中没有的(假设全表中24小时总是有的),每天1个IP只统计一次:
SELECT year(t.dt) as 年,month(t.dt) as 月,day(t.dt) as 日,b.h as 时,count(*) as 访问数 
from t1 t right join(
select distinct hour(dt) as h from t1
)b on hour(t.dt)=b.h
where not exists(select 1 from t1 where ip=t.ip and year(dt)=year(t.dt)
and month(dt)=month(t.dt) and day(dt)=day(t.dt) and hour(dt)<hour(t.dt))
group by year(dt),month(dt),day(dt),b.h
回复
wwwwb 2011-10-27
建立1个临时表,存入0-24各个小时,与工作表连接

lsbsj:字段GG,日期时间型,内容为00:00:00-23:00:00

select ip,hour(newsj),count(*)-1 from (
SELECT B.IP,cdate(format(b.日期,'yyyy-mm-dd') & ' ' & a.gg) as newsj FROM LSBSJ A ,TTL B
union all
select * from ttl) group by ip,hour(newsj)
回复
qq82655753 2011-10-27
感谢qianjin036a,感谢ACMAIN_CHM

请问ACMAIN_CHM如何LEFT JOIN查询补上24小时中没有的?
回复
ACMAIN_CHM 2011-10-26
[Quote]就好像上面的表,按照ACMAIN_CHM的语句就不能查出2点的值了,能否补上呢?就是说0至24小时都有值,不间断[/Quote]最好另外单独设置一个表,其中是0,1,2,3,...23然后可以做LEFT JOIN查询。
回复
qq82655753 2011-10-26
感谢qianjin036a

那么如何统计不重复ip呢?
回复
qq82655753 2011-10-26
感谢ACMAIN_CHM

这样也差不多了,但能不能0至24小时中,如果缺一个小时能否给其补上一个0值。

就好像上面的表,按照ACMAIN_CHM的语句就不能查出2点的值了,能否补上呢?就是说0至24小时都有值,不间断
回复
-晴天 2011-10-26
如果不理会IP重复的话:
SELECT year(dt) as 年,month(dt) as 月,day(dt) as 日,hour(dt) as 时,count(*) as 访问数 
from t1
group by year(dt),month(dt),day(dt),hour(dt)
回复
ACMAIN_CHM 2011-10-26
select hour(日期),count(*)
from 表如下:
group by hour(日期)
回复
qq82655753 2011-10-26

ip 日期
42.168.2.5 2011-10-23 00:17:21
88.68.23.56 2011-10-23 00:57:21
142.68.4.33 2011-10-23 01:11:26
192.138.2.6 2011-10-23 01:26:22
92.178.22.57 2011-10-23 08:40:25
132.188.21.205 2011-10-23 12:30:28
195.148.28.58 2011-10-23 14:26:23
182.128.82.95 2011-10-23 23:27:29
回复
相关推荐
发帖
Access
创建于2007-09-28

7520

社区成员

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
申请成为版主
帖子事件
创建了帖子
2011-10-26 09:23
社区公告
暂无公告