假设我有一个表,其中可能包含各种数字,例如它可能如下所示:
示例A:MyTable -10、-3、5、10、
示例 B:MyTable -10、-5、3、10、
因此,如果我在 ExampleA 中查询表,我希望它返回“-3”(接近 0 的值)
同样,如果我查询 ExampleB 中的表,我希望它返回“3”(最接近 0 的值)
无论表中的数字如何,我总是想找到最接近零的值,我该怎么做?
另外,我如何为关系选择哪个值(例如最接近的值可能是 -3 和 3)?
假设我有一个表,其中可能包含各种数字,例如它可能如下所示:
示例A:MyTable -10、-3、5、10、
示例 B:MyTable -10、-5、3、10、
因此,如果我在 ExampleA 中查询表,我希望它返回“-3”(接近 0 的值)
同样,如果我查询 ExampleB 中的表,我希望它返回“3”(最接近 0 的值)
无论表中的数字如何,我总是想找到最接近零的值,我该怎么做?
另外,我如何为关系选择哪个值(例如最接近的值可能是 -3 和 3)?
使用min()
和的组合abs()
:
select num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
要打破平局,请将 min() 或 max() 应用于 num 以获得负面或正面,例如
要获得平局的负数:
select min(num) num
from mytable
where abs(num) = (select min(abs(num)) from mytable)
要获得平局的正面:
select max(num) num
from mytable
where abs(num) = (select min(abs(num)) from mytable)