我有两个表A,B字段都一样,id,visit_ip,visit_timeA表是记录网页的刷新量 , 刷新一次网页记录一次ip和time,B表是记录真实的访问量,浏览器从打开到关闭只记录一次我要查某一天 的访问量和刷新量就是一个IP的访问次数和刷新次数
   IP       刷新次数  访问次数127.0.0.1       12       2
211.1.1.1       15       1
要得到这样的结果sql应该怎样写我写了一个
但是是错的查出来的数据不对select a.visit_ip,count(a.visit_ip),count(b.visit_ip)
          from Platform_Visit_Log a
          left join  Platform_Visit_real_Log b on a.visit_ip = b.visit_ip 
          where a.visit_time > to_date('2009-11-11 00:00:00 ', 'yyyy-mm-dd hh24:mi:ss')  
          and a.visit_time <to_date('2009-11-11 23:59:59 ', 'yyyy-mm-dd hh24:mi:ss')   
          group by (a.visit_ip)请大虾们指教

解决方案 »

  1.   

    count(a.visit_ip),count(b.visit_ip)
    把这里的visit_ip都改成visit_time
      

  2.   

       select * from (       
              (select a.visit_ip,count(a.visit_ip) from Platform_Visit_Log a   where a.visit_time > to_date('2009-11-11 00:00:00 ', 'yyyy-mm-dd hh24:mi:ss')   and a.visit_time <to_date('2009-11-11 23:59:59 ', 'yyyy-mm-dd hh24:mi:ss') group by (a.visit_ip) )
              left join 
             (select b.visit_ip,count(b.visit_ip) from Platform_Visit_real_Log b where b.visit_time > to_date('2009-11-11 00:00:00 ', 'yyyy-mm-dd hh24:mi:ss')   and b.visit_time <to_date('2009-11-11 23:59:59 ', 'yyyy-mm-dd hh24:mi:ss')  group by (b.visit_ip)
              on a.visit_ip = b.visit_ip 
      

  3.   

    建立的连接后生成的集合里
     where a.visit_time > to_date('2009-11-11 00:00:00 ', 'yyyy-mm-dd hh24:mi:ss')  
              and a.visit_time <to_date('2009-11-11 23:59:59 ', 'yyyy-mm-dd hh24:mi:ss')   
    是错误的  集合里没有visit_time这个字段
      

  4.   

    行了
    谢谢了
    select * from    
       (select a.visit_ip,count(a.visit_ip) 
          from Platform_Visit_Log a  
          where a.visit_time > to_date('2009-11-12 00:00:00 ', 'yyyy-mm-dd hh24:mi:ss') 
          and a.visit_time <to_date('2009-11-12 23:59:59 ', 'yyyy-mm-dd hh24:mi:ss') group by (a.visit_ip) 
       ) c
      left join 
       (select b.visit_ip,count(b.visit_ip) 
          from Platform_Visit_real_Log b 
          where b.visit_time > to_date('2009-11-12 00:00:00 ', 'yyyy-mm-dd hh24:mi:ss')  
          and b.visit_time <to_date('2009-11-12 23:59:59 ', 'yyyy-mm-dd hh24:mi:ss')  group by (b.visit_ip) 
        ) d
      on c.visit_ip = d.visit_ip
      

  5.   

    应该是对两张表分别count。如果用leftjoin,那数据都是以左边的为准,这样右边的数据就会丢失,所以就会不正确。
    lz可以试试用=进行关联呢。