日期:2014-05-17  浏览次数:20691 次

SQL 如何查询当月数据(去重复)
问题是这样的,比如一个网站访问记录数据表,字段有:
ID       IP        TIME
1      1.1.1.1   2013-1-1
2      1.1.1.1   2013-1-1
3      1.1.1.2   2013-1-2
4      1.1.1.2   2013-1-2
5      1.1.1.3   2013-1-3
6      1.1.1.4   2013-1-4
           .
           .
           .
1000   1.1.1.6   2013-1-30
1001   1.1.1.7   2013-1-31
我现在想统计:
1.每的访问数是多少(根据IP来去重)??这个怎么实现
我想实现的效果是这样的,查询后返回的表格式如下:
日期        访问数(根据IP去重)
2013-1-1       20
2013-1-2       22
2013-1-3       20
         .
         .
2013-1-30      55
2013-1-31      29
访问数是这样的,比如1号是查询出1号的所有记录,然后根据IP去重得到
                  3号就要查询出1-3号的所有数据,然后根据IP去重得到
                  31号就是查询1-31(整月)的所有数据,然后根据IP去重得到
注意:如果是单纯按天统计就简单了,可是现在要求用这种累加去重的方式,请问有没大神帮忙下,急啊。
小弟先谢了






sql 查询?重复数据?去重 查询 去重

------解决方案--------------------
select 日期,访问数=(select count(distinct IP) from tb where 日期<=a.日期)
from tb a group by 日期