繁体   English   中英

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

[英]How Do you add/substract from previous row in 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分配col,那么A,我将如何添加它。

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 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM