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 日期