最接近零的值由其他字段分组

时间:2017-11-21 16:07:40

标签: sql-server tsql group-by closest

我需要写一个查询,它会给我最接近零的字段值。我发现在这个论坛上的其他提交没有考虑到表中的其他字段。我需要的是在其他字段上分组的最接近零的值,以便每个数据分组的值最接近零。这意味着我可以拥有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 个答案:

答案 0 :(得分:1)

如果我正确理解你,你正在寻找:

select *
, min(abs(Value_I_Need_Closest_to_0)) over(partition by field1,field2, field3)
FROM tab