簡體   English   中英

根據條件sql server 2008篩選行

[英]Filter rows based on condition 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和manual列,如果manual列的值為0,那么我需要采用tt value = 32並忽略以下記錄。 同樣需要檢查其他記錄。即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
select opid, manual, tt
from (
  select *, row_number() over (partition by opid order by manual, tt desc) rn
  from yourtable ) v
where rn = 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM