Table:
Field:    Curr_Code      Curr_Name         Exch_Rate     TDate
          RMB           RenMinBi           1             2001-09-01
          USD           America            0.146         2001-09-01
          AUD           Australian Dollar  0.178         2009-08-01
          CAD           Candian Dollar     0.159         2009-08-01
          CHF           Swiss Franc        0.159         2009-08-01
以上为表信息,
我现在仅需要获取,以TDate字段唯一的记录,排序为Order by Curr_Code.
即以上数据获取结果为如下:
          RMB           RenMinBi           1             2001-09-01
          AUD           Australian Dollar  0.178         2009-08-01
请高手赐教如何写SQL。
非常感谢了。

解决方案 »

  1.   

    代码如下:select b.Curr_Code,b.Curr_Name,b.Exch_Rate,b.TDate from
    (select a.*,
     row_number () over(partition by a.TDate order by a.Curr_Code) row_nbr
     from table_name a
     ) b
    where b.row_nbr = 1;--table_name就是你的表名,已经测试过了,你看看
      

  2.   

    tdate相同的随便取一条就行,没有要求?
      

  3.   

    不知道这样行不:
    select * from(
    select Curr_Code,Curr_Name ,Exch_Rate,TDate, rank()over(order by Exch_Rate desc) rn from Table t group by TDate ) a
    where a.rn = 1;
      

  4.   

    上面这个错了,用一楼的吧
    group by 搞错了