【问题标题】:Nearest Value in the Database table数据库表中的最近值
【发布时间】:2018-03-20 05:04:27
【问题描述】:

我想在数据库中查找与用户在 php 中输入的内容最接近的数字匹配。数据库值可以与整数相乘以找到用户输入的接近值。

例如: 数据库有以下 Pallets:

950, 900, 1070

用户输入值:2000

系统不应该检查:

950 * 2 = 1900
900 *2 = 1800
1070 * 2 = 2140

所以最接近 2000 的值是 1900。任何帮助将不胜感激。

【问题讨论】:

标签: php


【解决方案1】:

试试这个查询,也用用户输入替换 2000。

SELECT your_column, abs( 2000 MOD your_column) ) as diff
FROM `mytable`
ORDER BY diff
LIMIT 1

【讨论】:

  • 但是数字 2 可能是可变的,即它可以是 3 等等。
  • 嗨@tan,感谢您的询问。它解决了我的问题。
【解决方案2】:
SELECT your_column, abs( $_POST['form_field_name']-(your_column*2) ) as setcustomcolumn FROM `rablename` order by columnname LIMIT 1

【讨论】:

  • 给你的答案一些解释
猜你喜欢
  • 1970-01-01
  • 2022-10-08
  • 1970-01-01
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 2015-12-04
  • 2019-08-10
  • 1970-01-01
相关资源
最近更新 更多