表1   Id , 地址 
表2   Id, 单位名,地址ID
查询 统计  地址名称,单位总数 按单位总数降序排列 (不用子查询)。
实在写不好,请教!

解决方案 »

  1.   


    select a.地址名称,count(b.单位名)
      from 表1 a inner join 表2 b on a.id=b.地址ID
    order by 2;
      

  2.   

    少些了个 descselect a.地址名称,count(b.单位名)
      from 表1 a inner join 表2 b on a.id=b.地址ID
    order by 2 desc;
      

  3.   

    谢谢 大哥
    count(b.单位名)这个不是需要group by b.地址ID 
    才能得到 每个地址的单位总数么?
      

  4.   


    是的,抱歉写的急了点。。select a.地址名称,count(b.单位名)
      from 表1 a inner join 表2 b on a.id=b.地址ID
    group by a.地址名称   --这句话是必须的。。
    order by 2 desc;
      

  5.   

    大哥 不胜感激
    但是我又发现 这个在 mysql下可以
    但在oracle 下 似乎不行
    oracle分组函数 group by  后面应该跟 select 的字段是一样的吧?
    依然困惑·
      

  6.   

    我电脑坏的··
    到朋友机器上装个oracle 去体验下
    谢谢大哥了
      

  7.   


    oracle分组函数 group by  后面应该跟 select 的字段是一样的吧?
    依然困惑·是这样的,但是聚集函数(sum max min avg count等) 可以不用在group by  后面