对同一表中同一列的两行求和

时间:2019-04-18 21:06:40

标签: sql-server tsql

我有一列叫做价格。我在该栏中有两行。如何减去row2-row1

表= table1
它具有列名称,价格
价格列的值为

Name      price
pen        123.24
pencil     2345.6

如何使用sql查询从价格列(2345.6-123.24)中减去两行。

输出应类似于2222.36。

这是通过减去2345.6-123.24

获得的

2 个答案:

答案 0 :(得分:1)

SELECT(r2.price - r1.price) AS total1
FROM table r1 CROSS JOIN
     table r2
WHERE t1.name = 'pen' AND t2.name = 'pencil';

答案 1 :(得分:1)

如果您知道必须减去的值的“名称”,则可以这样做

Select sum(case when name = 'pen' then price * -1 else price end) from table