how to get nearest value from database in mysql

后端 未结 11 1142
夕颜
夕颜 2020-12-31 16:39

I am using mySQL and CodeIgniter. I have some floating point numbers in my database such as

  • 8.3456
  • 8.5555
  • 4.5556
11条回答
  •  旧巷少年郎
    2020-12-31 17:20

    Get the largest value similar to $val:

    SELECT * FROM tab WHERE val <= $val ORDER BY val DESC LIMIT 1
    

    Get the smallest value similar to $val:

    SELECT * FROM tab WHERE val >= $val ORDER BY val LIMIT 1
    

    Get the closest value similar to $val in either direction:

    SELECT * FROM tab ORDER BY abs(val - $val) LIMIT 1
    

提交回复
热议问题