如何在两个整数字段(value_0 - value
)之间获得最小差异?
value_0 >= value
总是
value_0 | value
-------------------
15 | 10
12 | 10
15 | 11
11 | 11
答案 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。