2012-12-30 96 views
3

我有一个预先定义的6位数字和一个带有'数字'字段(整数)的Entry模型,每个月会有几千个随机生成的条目。我需要找到最接近预定义6位数字的条目的最佳方法。最有效的方法来找到最接近的整数?

这基本上是一场比赛。在每个月的开始时,随机选择一个6位数字,人们进入并获得一个随机数字 - 在月末,最接近号码的人获胜。

任何人都知道什么是最有效的方式来找到最接近的条目?

我使用的Postgres 9.2和Rails 3.2.9

+1

基于@Helio Santos的回答,尝试如下:'SELECT ID ORDER BY ABS(number - 123456)ASC LIMIT 1;',假设选择的数字是123456 – orip

+0

真棒 - 谢谢,它的工作原理! – A4J

回答

2

胜者将拥有绝对的predefined_number之间的差异和最亲密的chosen_number为零。

只需查询由abs(预定义的编号 - 选定的编号)排序的选取的编号。名单上的第一名是赢家。

+2

+1,但你的意思是'ABS'而不是'mod',对吧? – orip

+0

@orip你是对的。谢谢。 –

+0

谢谢你们 - 它的作品:) – A4J

相关问题