这是我的table parameters_info .
parameters_info
name | value --------------------------------- fee for normal scan |20 fee for especial scan |500
我想得到的值(特殊扫描费-正常扫描费)是480;如何使用mysql实现这一点?
eh57zj3b1#
你可以这么做:
SELECT (SELECT value FROM t WHERE name = 'fee for especial scan') - (SELECT value FROM t WHERE name = 'fee for normal scan')
mefy6pfw2#
可以使用条件聚合 Sum() 功能。它可能比使用多个不相关的子查询更有效:
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
2条答案
按热度按时间eh57zj3b1#
你可以这么做:
mefy6pfw2#
可以使用条件聚合
Sum()
功能。它可能比使用多个不相关的子查询更有效: