现有两张表
t_stat_Site表
id     statSit       url
1      Google        http://www.google.cn/
2      百度          http://www.baidu.com/
3      其他地址 t_stat_Visitor表
id    refererUrl
1     http://www.google.cn/
2     http://www.google.cn/
3     http://www.google.cn/
4     http://www.baidu.com/
5     http://www.baidu.com/
6     http://www.live.com/
7     http://www.live.com/
8     http://blog.qikoo.com/
用什么sql语句能得出结果statSit   访问数量
Google    3
百度      2
其他地址  2

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/5241/5241744.xml?temp=.8311579
    再用一个行转列
      

  2.   

    select statSit,sum(case url when referurl else 0 end) as 訪問數量 from t_stat_Site  inner join t_stat_Visitor on url=refererUrl group by statSit       沒調試
    不知道對不對
      

  3.   

    select A.statSit,COUNT(A.url) form t_stat_Site A left join t_stat_Visitor B on A.url = B.refererUrl
    GROUP BY A.statSit
      

  4.   

    这个也太简单了
    select isnull(t_stat_Site.statSit,'其他地址') as statSit from t_stat_Site
    right join t_stat_Visitor on t_stat_Site.url=t_stat_Visitor.refererUrl最后再用group by statSit分组统计
      

  5.   

    还有一个写法:
    select statsit,a.访问数量 from (select referUrl ,count(referUrl) as 访问数量 group by referUrl ) as a,t_sta_Site where url=referUrl
      

  6.   

    还有一个其他的统计阿,那这样写
    select a.statsit,count(a.referUrl) as 访问数量  from (select isnull(t_stat_Site.statSit,'其他地址') as statSit,referUrl from t_stat_Site
    right join t_stat_Visitor on t_stat_Site.url=t_stat_Visitor.refererUrl) as a ,t_sta_Site where url=a.referUrl
      

  7.   

    select t_stat_Site.statSit,count(t_stat_Visitor.*)
    from t_stat_Site,t_stat_Visitor
    where t_stat_Site.Url = t_stat_Visitor.refererUrl
    group by t_stat_Visitor.refererUrl
      

  8.   

    select t_stat_Site.statSit,count(t_stat_Visitor.refererUrl)
    from t_stat_Site,t_stat_Visitor
    where t_stat_Site.Url *= t_stat_Visitor.refererUrl
    and t_stat_Site.statsit<>'其他'
    group by t_stat_Site.statSit
    union
    select '其他' ,count(t_stat_Visitor.refererUrl)
    from t_stat_Visitor
    where not exists(select t_stat_Site.url from t_stat_Site where t_stat_Visitor.refererUrl=t_stat_Site.url)
      

  9.   

    select A.statsit as  webname,count(B.refererurl) as counts 
    from stat_site as A inner join stat_visitor as B on A.url=B.refererurl 
    group by A.statsit 
    union
    select '其他地址' as webname,count(*) as counts from 
    (select D.*  from stat_site as C right join stat_visitor as D on C.url=D.refererurl where C.id is null) E