求助复杂的SQL语句统计PV,ip

startus2104644885 2011-09-08 04:57:07
关于怎么统计出2天不同企业的独立IP总数和pv
目前的表结构
表:pv
字段id,ip,date_time,cname

入库是这样的。主要页面点击一次,数据库就插入一条数据

数据如下
结果1:
1 127.0.0.1 2000-1-1,企业1
2 127.0.0.1 2000-1-1,企业1
3 127.0.0.2 2000-1-2,企业1
4 127.0.0.1 2000-1-2,企业1
5 127.0.0.3 2000-1-3,企业2
6 127.0.0.3 2000-1-3,企业2


我希望得到的结果是

查询日期2000-1-1至2000-1-3根据企业统计得到pv总数,和IP独立数 ,一天之内的同样IP算1个,ID为1,2的IP为1个,3为1个,4IP是第二天所以也算一个得到应该是3,请问根据这样写

企业名称 pv ip
企业1 4 3
企业2 2 1

目前我的sql语句是这样写的。但是
select count(id) as pvcount,COUNT(DISTINCT(ip)) as countip from pv where date between '2000-1-1' and '2000-1-3' group by cname
我这样得到的结果值,
结果2
企业名称 pv ip
企业1 4 2
企业2 2 1


我希望得到的数据是结果1,而不是结果2,因为结果2是把所有天数IP,然后进行不是重复的值进行求总的。
请大侠求助我想得到结果1Sql语句怎么写呢

...全文
153 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2011-09-08
  • 打赏
  • 举报
回复
Select cname,count(*) as pv,count(distinct ip,date) as ip
From pv
Group by cname
vipper23 2011-09-08
  • 打赏
  • 举报
回复
select cname `企业名称` ,sum(pvcount) pvcount ,sum(countip) ip from (select cname, count(id) as pvcount,COUNT(DISTINCT(ip)) as countip from tt where date_time between '2000-1-1' and '2000-1-3' group by cname,date_time) t group by cname;
+--------------+---------+------+
| 企业名称 | pvcount | ip |
+--------------+---------+------+
| 企业1 | 4 | 3 |
| 企业2 | 2 | 1 |
+--------------+---------+------+
2 rows in set (0.00 sec)
startus2104644885 2011-09-08
  • 打赏
  • 举报
回复
关于怎么统计出2天不同企业的独立IP总数和pv
目前的表结构
表:pv
字段id,ip,date_time,cname

入库是这样的。主要页面点击一次,数据库就插入一条数据

数据结构如下

1 127.0.0.1 2000-1-1,企业1
2 127.0.0.1 2000-1-1,企业1
3 127.0.0.2 2000-1-2,企业1
4 127.0.0.1 2000-1-2,企业1
5 127.0.0.3 2000-1-3,企业2
6 127.0.0.3 2000-1-3,企业2


我希望得到的结果是

查询日期2000-1-1至2000-1-3根据企业统计得到pv总数,和IP独立数 ,一天之内的同样IP算1个,ID为1,2的IP为1个,3为1个,4IP是第二天所以也算一个得到应该是3,请问根据这样写
结果1:也是我希望要展示的结果
企业名称 pv ip
企业1 4 3
企业2 2 1

目前我的sql语句是这样写的。但是
select count(id) as pvcount,COUNT(DISTINCT(ip)) as countip from pv where date between '2000-1-1' and '2000-1-3' group by cname
我这样得到的结果值,
结果2
企业名称 pv ip
企业1 4 2
企业2 2 1


我希望得到的数据是结果1,而不是结果2,因为结果2是把所有天数IP,然后进行不是重复的值进行求总的。
请大侠求助我想得到结果1Sql语句怎么写呢

57,062

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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