SQL命令获取前两个不同值之间的差异

问题描述 投票:0回答:2

我有一个SQL命令,该命令返回列中的最后两个不同的值。

select distinct value from orders order by timestamp limit 2;

输出:

200

100

如何使用单个SQL命令获得这两个值(200-100)之间的差(100)

mysql distinct
2个回答
0
投票

也许类似的方法可能有效,但是对于大型数据库而言,这样做的效率很低。

SELECT (select distinct value from orders order by timestamp limit 1) - (select distinct value from orders order by timestamp limit 1,1) AS DIFFERENCE;

0
投票

您可以将maxmin与子查询一起使用

SELECT Max(mytable.value) - Min(mytable.value) 
FROM   (SELECT DISTINCT value 
        FROM   orders 
        ORDER  BY timestamp 
        LIMIT  2) mytable 
© www.soinside.com 2019 - 2024. All rights reserved.