SQL:使用tie找到最接近给定值的数字

时间:2015-10-15 11:29:58

标签: mysql sql database

我试图在SQL中找到与给定值最接近的数字。我已经查询了多个结果:

SELECT *
FROM Cars
ORDER BY ABS(price - $price)

我知道我可以使用LIMIT 1限制表格,我有一个最接近给定值的数字。但我怎么能包括关系呢?例如,当有三辆或四辆同样价格的汽车时?具有相同价格的汽车数量是动态的,因此我无法指定某个限制。

我也知道我可以使用SELECT TOP 1 WITH TIES,但我无法使用此查询,因为我的数据库驱动程序不允许这样做。有没有人知道如何做到这一点?

示例:

  • car 1 = 2000
  • car 2 = 3000
  • car 3 = 3000
  • 汽车4 = 1500

当我想要最接近3000的汽车时,查询应返回:

  • car 2
  • car 3

但是在查询中没有使用静态LIMIT,因为每次具有相同价格的汽车数量可能不同。感谢

1 个答案:

答案 0 :(得分:5)

如果您的驱动程序支持嵌套查询:

if Int(ball.position.y) > maxIndexY! {
    let randomFunc = [self.firstFunction, self.secondFunction, self.thirdFunction]
    let randomResult = Int(arc4random_uniform(UInt32(randomFunc.count)))
    return randomFunc[randomResult]()
}