--各版热帖及热情度--
select distinct * from (
  select BBSSection.SName 版块名, BBSTopic.TTopic '热帖(版内点击率最高)' 
  
    from BBSTopic left join BBSSection on (BBSTopic.TSID = BBSSection.SID)
      where BBSTopic.TClickCount > 0
        group by BBSTopic.TSID,BBSSection.SName,BBSTopic.TTopic
  order by BBSSection.SName,max(BBSTopic.TClickCount) union all (
  select avg(BBSTopic.TReplyCount) '热情度(版内平均回帖数)' from BBSTopic 
    right join BBSSection on (BBSTopic.TSID = BBSSection.SID)
      group by BBSTopic.TSID) )这是在网上查到的方法,可是不管用,
向大家求教了,谢谢。

解决方案 »

  1.   

    select BBSSection.SName 版块名, BBSTopic.TTopic '热帖(版内点击率最高)',avg(BBSTopic.TReplyCount) '热情度(版内平均回帖数)' 
    from BBSTopic left join BBSSection on (BBSTopic.TSID = BBSSection.SID)
    where BBSTopic.TClickCount > 0
    group by BBSTopic.TSID,BBSSection.SName,BBSTopic.TTopic
    order by BBSSection.SName,max(BBSTopic.TClickCount) 
    直接这样就可以吧?
      

  2.   

    SELECT DISTINCT * FROM
    (
    SELECT BBSSection.SName '版块名', BBSTopic.TTopic '热帖(版内点击率最高)'
    FROM BBSTopic
    LEFT JOIN BBSSection
    ON (BBSTopic.TSID = BBSSection.SID)
    WHERE BBSTopic.TClickCount > 0
    GROUP BY BBSTopic.TSID,BBSSection.SName,BBSTopic.TTopic

    UNION ALL

    SELECT BBSSection.SName '版块名', AVG(BBSTopic.TReplyCount) '热情度(版内平均回帖数)' 
    FROM BBSTopic
    RIGHT JOIN BBSSection
    ON (BBSTopic.TSID = BBSSection.SID)
    GROUP BY BBSTopic.TSID
    ) A
      

  3.   

    select a,b,c from TableA
    union
    select a,b,c from TableB
      

  4.   


    SELECT DISTINCT * FROM
    (
        SELECT BBSSection.SName '版块名', BBSTopic.TTopic '热帖(版内点击率最高)'
        FROM BBSTopic
        LEFT JOIN BBSSection
            ON (BBSTopic.TSID = BBSSection.SID)
        WHERE BBSTopic.TClickCount > 0
        GROUP BY BBSTopic.TSID,BBSSection.SName,BBSTopic.TTopic
        
        UNION ALL
        
        SELECT BBSSection.SName '版块名', AVG(BBSTopic.TReplyCount) '热情度(版内平均回帖数)' 
        FROM BBSTopic
        RIGHT JOIN BBSSection
            ON (BBSTopic.TSID = BBSSection.SID)
        GROUP BY BBSTopic.TSID,BBSSection.SName
    ) Aselect distinct * from (
      select BBSSection.SName 版块名, BBSTopic.TTopic '热帖(版内点击率最高)'
        from BBSTopic left join BBSSection on (BBSTopic.TSID = BBSSection.SID)
          where BBSTopic.TClickCount > 0
            group by BBSTopic.TSID,BBSSection.SName,BBSTopic.TTopic
      order by BBSSection.SName,max(BBSTopic.TClickCount)  union all
      select avg(BBSTopic.TReplyCount) '热情度(版内平均回帖数)' from BBSTopic 
        right join BBSSection on (BBSTopic.TSID = BBSSection.SID)
          group by BBSTopic.TSID
    ) a这两个都是,分着成,可合起来还是不行呀?