2017-11-21 9 views
2

ゼロに最も近いフィールド値を与えるクエリを書く必要があります。私が見つけたこのフォーラムの他の投稿は、テーブルの他のフィールドを考慮していません。私が必要とするのは、ゼロに最も近い値が他のフィールドにグループ化され、データの各グループがゼロに最も近い値を持つようにすることです。つまり、20行のデータを持つことができますが、ゼロに最も近い値は追加のフィールドに基づいています。私が示したクエリの例は、ここでフォーラムで見つけたものに基づいています:How to find the value closest to zero using SQL Server。他のフィールドに基づいてグループ化できるように、WHERE句を変更しました。他のフィールドでグループ化された最も近い値

SELECT 
Field1, 
Field2, 
Field3, 
Value_I_Need_Closest_to_0 

FROM Table 

WHERE exists(select Field1 
        ,Field2 
        ,Field3 
        ,min(abs(Value_I_Need_Closest_to_0)) 
      from Table 
      group by Field1 
        ,Field2 
        ,Field3) 

答えて

1

私が正しくあなたを理解していれば、あなたはを探しています:

select * 
, min(abs(Value_I_Need_Closest_to_0)) over(partition by field1,field2, field3) 
FROM tab 
関連する問題