2013-10-02 113 views
0

以下是示例數據。基於條件sql server篩選行2008

 
Op_ID manual TT 
------------------ 
1  0  32 
1  1  38.4 
2  0  4.56 
2  1  7.5 
55  1  50 
55  1  30 
  • 殼體1:我需要檢查Op_id和手動的列,如果手動列具有0然後我需要採取Tt值= 32,並忽略下面的記錄。同樣需要檢查其他records.i.e。 op_id = 2,manual = 0則需要tt = 4.56。案例2:如果兩個記錄的手冊= 1,那麼我需要取最大值tt,即tt = 50。(對於op_id = 55)。
So i need the output like below.
 
Op_ID manual TT 
------------------ 
1  0  32 
2  0  4.56 
55  1  50 
+2

有沒有嘗試過任何查詢呢?你準確地粘在哪裏? –

回答

1
select opid, manual, tt 
from (
    select *, row_number() over (partition by opid order by manual, tt desc) rn 
    from yourtable) v 
where rn = 1