SQL - 两个整数字段之间的最小差异

时间:2014-03-15 12:48:05

标签: sql

如何在两个整数字段(value_0 - value)之间获得最小差异? value_0 >= value总是

value_0 | value
-------------------  
    15  |  10
    12  |  10
    15  |  11
    11  |  11

2 个答案:

答案 0 :(得分:1)

这是一种方式:

select min(value_0 - value)
from table t;

这是非常基本的SQL。 如果您希望在同一行中看到与最小值相同的其他值,请使用order by并选择一行:

select (value_0 - value)
from table t
order by (value_0 - value)
limit 1;

limit 1在某些数据库中可以获取一行。其他人在top 1子句中使用select。或fetch first 1 rows only。甚至是别的东西。

答案 1 :(得分:1)

试试这个:

SELECT MIN(value_0-value) as MinDiff
FROM TableName
WHERE value_0>=value

根据您提供的样本数据, 输出为0。 (11-11)

请参阅SQL Fiddle中的演示。

详细了解MIN() here