希望在一个查询中完成两个方程并将结果用于final

时间:2016-08-18 23:18:54

标签: mysql sql

我不确定这是否可以一举完成,但我认为这会很好。 我需要计算以下内容

  

(ORank×60%)+(曲柄×40%)= PScore

     

(BRank×60%)+(ARank×40%)= NSCore公司

     

PScore-NSCore公司= CScore

CScore是我的最终需求。但我需要使用一个表中的数据来给我这个结果。

我知道这可以一个接一个地完成,但在我的技能组合中不够先进,无法知道这是否可以立即完成。

编辑:

所以现在跟进..我想得AVG我使用SELECT AVG(((ORank * .6)+(CRank * .4)) - ((BRank * .6)+(ARank * .4 )))AS CScore FROM表...但似乎可能不正确在avg应该只在-1到1之间,但我得到2.16我是否格式化AVG错误的查询? CScore的最低数字是-0.998701054845278,最高的是0.99946494141603

1 个答案:

答案 0 :(得分:2)

我希望这不是一个看似简单的......

我认为这些排名是列而不是计算。如果是这样,简单的代数替换说:

CScore = (((ORank*.6)+(CRank*.4))-((BRank*.6)+(ARank*.4)))

因此...

SELECT (((ORank*.6)+(CRank*.4))-((BRank*.6)+(ARank*.4))) AS CScore
FROM table...

如果计算排名并且你不关心表现,你可以做(​​看起来很讨厌)子选择或加入。