gpt4 book ai didi

MySQL Math - 计算另一列的值

转载 作者:行者123 更新时间:2023-11-29 14:19:33 25 4
gpt4 key购买 nike

我需要为结果数学函数乘法创建一个 View 。这可能吗?

表:

mysql> show create table devices \G
Create Table: CREATE TABLE `devices` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`d_type` varchar(255) NOT NULL,
`multiplier` char(255) NOT NULL DEFAULT '',
`value` decimal(10,3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

示例行:

mysql> SELECT devices.id, devices.d_type, devices.multiplier, devices.`value`  FROM devices;   
+----+--------------------------+------------+--------+
| id | d_type | multiplier | value |
+----+--------------------------+------------+--------+
| 1 | Cisco Call Manager | / | 4.000 |
| 2 | Generic Router/Switch | * | 0.350 |

我需要以某种方式使用乘法器进行计算,以提供各种数学的结果。示例(当然不起作用):

SELECT devices.id, devices.d_type, devices.multiplier, devices.`value`, (SELECT 1 $multiplier devices.`value`) as EPS FROM devices; 

这种情况下的结果应该是:

+----+--------------------------+------------+--------+--------+
| id | d_type | multiplier | value | EPS |
+----+--------------------------+------------+--------+--------+
| 1 | Cisco Call Manager | / | 4.000 | 0.25 |
| 2 | Generic Router/Switch | * | 0.350 | 0.35 |

我们需要通过将 1 除或乘以值列来得出 EPS 列。有没有办法使用该乘数来确定是除法还是乘法?

(请注意,我使用 1 作为示例,这可以是来自用户输入的任何传入整数)

最佳答案

您可以使用此查询

SELECT devices.id, devices.d_type, devices.multiplier, devices.`value`, IF(multiplier = '/', 1/value, 1*value) as EPS FROM devices;

它适合你。

关于MySQL Math - 计算另一列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11980687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com