2014-12-19 82 views
0

我有一个包含以下日期和值的表。我需要根据日期[最大日期值 - 最小日期值]减去这些值并创建一个表格。根据Mysql中同一行中的另一个值减去值

date value 
2014-11-07 229275 
2014-11-24 138746 
2014-12-17 127112 

预期的输出结果是:

maxdate mindate  value 
2014-12-17 2014-11-07 102163 

回答

1

如果你可以用MAX(值)和最小(值),那么这将是很容易:

select max(date) as maxdate, min(date) as mindate, max(value) - min(value) 
from table; 

出现这种情况的工作为你举例。

假设你真的想上最小日期和最大日期值,试试这个来代替:

select maxt.date as maxdate, mint.date as mindate, (mint.value - maxt.value) as diff 
from (select t.* from table t order by date limit 1) as mint cross join 
    (select t.* from table t order by date desc limit 1) as maxt; 
相关问题