如何在SQL中添加/减去上一行?

时间:2011-04-14 18:27:20

标签: mysql sql

在Mysql中

Id AA BBB 
A  45 123
B  52 120
C  40 135

我将如何获得

B_A  7 
A_C  5

首先需要按BBB Asc排序 然后减去52-45。 B_A连接B和A

如何在SQL中添加/减去前一行的形式?

如果我需要为B分开cols然后A,我将如何添加此项。

1 个答案:

答案 0 :(得分:2)

SELECT concat(t1.id , '_',  t2.id, ' ', t1.aa - t2.aa ) 
FROM   table t1 
       INNER JOIN (SELECT Max(t2.id) prev_id, 
                          t1.id 
                   FROM   table t1 
                          INNER JOIN table t2 
                            ON t1.id > t2.id
                   GROUP BY t1.id) prev 
         ON t1.id = prev.id 
       INNER JOIN table t2 
         ON t2.id = prev.prev_id