我有一个SQL命令,该命令返回列中的最后两个不同的值。
select distinct value from orders order by timestamp limit 2;
输出:
200
100
如何使用单个SQL命令获得这两个值(200-100)之间的差(100)
也许类似的方法可能有效,但是对于大型数据库而言,这样做的效率很低。
SELECT (select distinct value from orders order by timestamp limit 1) - (select distinct value from orders order by timestamp limit 1,1) AS DIFFERENCE;
您可以将max
和min
与子查询一起使用
SELECT Max(mytable.value) - Min(mytable.value)
FROM (SELECT DISTINCT value
FROM orders
ORDER BY timestamp
LIMIT 2) mytable