日期:2014-05-16  浏览次数:20926 次

关于使用group by 多个字段的问题
表结构 为
姓名  单位  区域  日期  .....
a1     dw1   qu1    20140301
a1     dw2   qu2    20140302
a2     ....     ......    ................

按姓名分组,还想得到最近的单位、区域等字段,该如何做呢







------解决方案--------------------

select a.姓名, a.单位, a.区域, a.日期
  from test a, (select 姓名, max(日期) as 日期 from test group by 姓名) b
 where a.姓名 = b.姓名
   and a.日期 = b.日期;

------解决方案--------------------
ORACLE主要看数据量,数据量不多,你怎么写都没事,数据量多,你这样写会慢