php - MySQL Closest Match 使用 ABS 混淆

标签 php mysql tabs sql-order-by match

非常简单,只是在语法上难倒了,没有在任何地方找到一个好的例子。

我想在数据库中搜索最接近的匹配项。在页面的前面我定义了 $rating,这是我想要匹配的值。 Uploaderating 是我要在表中匹配的值。

我正在使用以下内容:

$SQL = "SELECT TOP(1) id
FROM table
WHERE uploader != '$username'
ORDER BY ABS(uploaderrating - $rating)";

$result = mysql_query($query);
$row1= mysql_fetch_array($result);
$id1 = $row1[id];

我没有得到我想要的行 ID,而是得到了以下内容:

mysql_fetch_array():提供的参数不是 mysite 中行号处的有效 MySQL 结果资源。

最佳答案

你安装my MySQL的时候有TOP函数吗?

试试这个语法:

SELECT id
FROM test
WHERE uploader != '$username'
ORDER BY ABS(uploaderrating - $rating)
LIMIT 0,1

可以找到Demo here .

关于php - MySQL Closest Match 使用 ABS 混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11299280/

相关文章:

jquery - 嵌套 jQuery 选项卡

php - 检查目录中的文件名是否作为值存在于数据库中

php - 在表单输入中回显 php 作为带有路径的按钮

php 两个数组之间的数组匹配

mysql - 如何在 Doctrine 中使用汇总修饰符进行分组?

mysql - 从查询结果中计算不同的值

php - 如果查询 store_num 退出则更新 mysql 表

mysql - 在512 * 512 map 中选择向外中心点的瓦片的算法

java - 用作按钮的 Android 选项卡

reactjs - react 导航: Scroll to top if tab is the same as active tab