如何在Mysql中找到两列之间的最小差异?

时间:2016-03-05 04:31:51

标签: mysql sql

我的数据库中有一个表格,其中包含用于在人与人之间录制游戏的数据。我希望有一个查询可以返回两个玩家之间最接近的游戏,即记录的两个得分之间的最小差异,无论谁赢了。我已经开始使用类似的东西作为查询,但我无法得到我想要的东西。

SELECT recorder_score, opponent_score 
from games 
where recorder_id = $recorder_id 
order by (recorder_score - opponent_score) 
limit 1

以上显然只会返回提交游戏的人赢得的最接近的游戏,但正如我所提到的,我想要最接近的游戏,无论谁获胜。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

Order by中使用ABS获取两个玩家之间最近的游戏

SELECT recorder_score, opponent_score 
from games 
where recorder_id = $recorder_id 
order by ABS(recorder_score - opponent_score) 
limit 1