MySQL-在同一个表中增加字段,存储在同一个表中

MySQL-在同一个表中增加字段,存储在同一个表中,mysql,sql,Mysql,Sql,我有一张这样的桌子: Quote Super Factor 29 63 [83.79] 38 61 [81.13] 79 65 [86.45] 47 40 [80] 81 25 [50] 82 35

我有一张这样的桌子:

Quote     Super      Factor
29        63                   [83.79]
38        61                   [81.13]
79        65                   [86.45]

47        40                   [80]
81        25                   [50]
82        35                   [70]
我想把‘Super’列乘以1.33,如果‘Quote’是29,38,79。如果字段'Quote'为47、81、82,则将'Super'乘以2

引号是“BigInt(10)”,“Super”和“Factor”都有“Double”类型。该表的名称为“Quote_IDX”

注意:“[]”中的数字是完成此计算后我应该得到的结果。正如你可能知道的那样,我对MySQL还相当陌生,所以我需要一些帮助


提前感谢。

您可以使用以下语句。
选择将向您显示数据结果:

select quote, super, 
  case when quote in (29, 38, 79)
        then super * 1.33
      when quote  in (47, 81, 82)
        then super * 2.0
      else 0
  end factor
from Quote_IDX
看。然后,如果您想更新
系数
列的
更新

update Quote_IDX
set factor = (case when quote in (29, 38, 79)
                then super * 1.33
              when quote  in (47, 81, 82)
                then super * 2.0
              else 0 end)

请参见

您试图解决的总体问题是什么?把几个硬编码的数字与另一个硬编码的数字任意相乘似乎有些奇怪。实际上,我被告知要更改“超级”数字,但并非所有这些数字都会更改,我希望能够保持这些数字不变。我添加了“Factor”字段来存储新的数字。但是表实际存储了什么?它有什么作用?什么是商业领域?在这一点上,我想我只是好奇。它在一个我们做测试的私人网站上。该表存储了他们的等级。我所做的就是根据学生参加的测试,将他们的分数乘以给定的因子。为什么?因为客户机想要.1表示“SQL FIDLE”。我刚刚使用了您解决方案的后半部分来“修复”我的数据。工作得很好!