获取两个数字的差异,它们在mysql表的两行中

时间:2018-11-09 10:13:11

标签: mysql sql

这是我的桌子parameters_info

name                     | value
---------------------------------
fee for normal scan      |20
fee for especial scan    |500

我想得到的价值(特殊扫描的费用-正常扫描的费用)是480;

如何使用MySQL实现此目标?

2 个答案:

答案 0 :(得分:1)

您可以简单地执行以下操作:

SELECT (SELECT value FROM t WHERE name = 'fee for especial scan') - 
       (SELECT value FROM t WHERE name = 'fee for normal scan')

答案 1 :(得分:0)

您可以使用Sum()函数使用条件聚合。与使用多个不相关的子查询相比,它可能更有效

SELECT SUM(CASE name 
                WHEN 'fee for especial scan' THEN value
                WHEN 'fee for normal scan' THEN -1*value
                ELSE 0
           END)
FROM your_table