基于mysql数学的查询

时间:2012-01-20 11:12:08

标签: mysql math

我的游戏中有一张枪械表,它有3个字段:

Name       dmg    timer
------------------------
Pistol     5      30
Shotgun    10     45
Sniper     16     60

计时器表示可以以秒为单位拍摄的频率。除此之外还有很多行,但是......

我想按照射速的顺序拉动它们,每分钟都会造成最大的伤害。所以手枪每分钟会造成10点伤害,霰弹枪12.5,狙击手16。

我如何将其作为查询?

SELECT * FROM firearms ORDER BY ?

这可能是一些基本的数学,但我没有想清楚。

5 个答案:

答案 0 :(得分:1)

你只需要计算一个加权伤害,我认为这样的事情可以做到:

SELECT * FROM firearms ORDER BY (dmg * (60/timer)) desc

答案 1 :(得分:0)

尝试:

SELECT * FROM firearms ORDER BY dmg/timer desc

- 首先获得最大的破坏力。

答案 2 :(得分:0)

SELECT Name,
    dmg,
    timer, 
    (dmg * (60 / timer)) as  
FROM firearms 
ORDER BY xx desc 

答案 3 :(得分:0)

SELECT 
  dmg*60.0/timer AS DamagePerMinute,
  *
FROM firearms 
ORDER BY 1 DESC

答案 4 :(得分:0)

SELECT name, (dmg/timer) FROM Weapons ORDER BY (dmg/timer)

通过DPS(每秒伤害)返回数据库中的所有武器,有两列:名称和DPS。