2016-08-06 5 views
0

を別個に使用する私は4〜6のみ欲しい6つのフィールド方法を複数の列に

f1,f2,f3,f4,f5,f6 

フィールドのみを変化している単一の行として生じるフィールド1

に基づい例:

name , age, policy_no, proposer_code,  entry_date ,  status 
----------------------------------------------------------------------------- 
aaa  18  100002  101    20-06-2016    A 
aaa  18  100002  101    21-06-2016    B 
aaa  18  100002  101    22-06-2016    c 
aaa  18  100002  101    24-06-2016    H 
aaa  18  100002  101    26-06-2016    p 

最後の行は、提案者コードに基づいているだけです。これは、最新のエントリ日付であるためです。

+0

は知っているのは興味深いです。何を試しましたか?あなたはそれを分析関数でタグ付けしたので、少なくともあなたはどのツールを使うべきかを知っていますか?(自動タグ・チューザーはそれを選ぶのに十分なスマートなのですか?) – mathguy

+0

Dense_rankを使用して同じ結果を得ることができる人物を待っています。 Coz私は既にランクを使用して提供し、誰かがrow_numberを使って同じことを繰り返す:-))))) – XING

答えて

0

oracleでは、次のSQL問合せを使用して結果セットを取得できます。

select name , 
     age,  
     policy_no, 
     proposer_code,  
     entry_date ,   
     status 
from (
select name , 
     age,  
     policy_no, 
     proposer_code,  
     entry_date ,   
     status, 
     rank()over(partition by name ,age,policy_no, proposer_code order by entry_date desc) rnk 
from test 
group by name , age, policy_no, proposer_code ,entry_date , status) a 
where a.rnk = 1; 
1

私が正しく理解していれば、あなたはこのようrow_number()を使用する:あなたが欲しい

select t.* 
from (select t.*, 
      row_number() over (partition by name order by entry_date desc) as seqnum 
     from t 
    ) t 
where seqnum = 1; 
関連する問題