表A 发帖表 
字段:ID|用户ID|主贴ID
表B 回帖表
字段:ID|回帖用户ID|主贴ID|回帖时间
表C 用户表
字段:ID|用户名在表B中统计出某一时间段回帖排名;既根据主贴ID重复次数排名 并得到排名后的主贴ID然后在表A中根据所有得到主贴ID获取对应用户ID。再在表C中根据所有得到用户ID得到对应用户名最终结果是用户名   被回帖总次数请问一条SQL语句如何实现!

解决方案 »

  1.   

    SELECT   C.用户名, B.回帖数
      FROM   tableA A, (  SELECT   B.主贴ID, COUNT ( * ) 回帖数
                            FROM   tableB B
                        GROUP BY   B.主贴ID) B, tableC C
     WHERE   A.主贴ID = B.主贴ID AND A.用户ID = C.ID
      

  2.   

    select c.yhm, count(b.id)
    from a, b, c
    where a.ztid = b.ztid
    and a.yhid = c.id
    group by (c.yhm)
      

  3.   

    select ccc.user_name, count(bbb.ht_user_id)
    from aaa, bbb, ccc
    where aaa.user_id = ccc.id
        and aaa.zt_id = bbb.zt_id
        and bbb.ht_date >= trunc(sysdate, 'mm')
        and bbb.ht_date <= trunc(sysdate) + 0.99999
    group by ccc.user_name