mysql两列差异之间的最小值

时间:2017-03-05 12:15:07

标签: mysql

请,我想从mysql表中选择两列之间的绝对差值是绝对差值之间的最小值。

我尝试了这种语法,但它不正确

SELECT strike FROM options_20161230 ORDER BY ask - bid ASC LIMIT 1

我想知道我是否可以在表格中创建一个新列,因为两列之间的差异可能吗?

我还想选择一列中两个数字之间的值,我试过这个

SELECT strike FROM options_20161230 WHERE 7 < Expiration - Datadate < 37 AND type ='put' AND UnderlyingSymbol = 'SPY'

当有限到期时它起作用 - 通过一个值&lt;但是它没有使用两个值&lt;,&gt; ?

请任何想法!

非常感谢

1 个答案:

答案 0 :(得分:1)

您的第一个查询已结束。你只想要abs()

SELECT strike
FROM options_20161230
ORDER BY abs(ask - bid) ASC
LIMIT 1;

你的第三个查询应该使用(假设差异是一个整数)或两个不等式:

SELECT strike
FROM options_20161230
WHERE Expiration - Datadate BETWEEN 8 AND 36 AND
      type ='put' AND
      UnderlyingSymbol = 'SPY';