如何查询数据库的中间值并按最接近的排序?

发布于 2024-10-06 18:42:39 字数 274 浏览 0 评论 0原文

我正在 MySQL 数据库中搜索一个值,并希望按最接近的项目对结果进行排序。

示例:

我在查询中搜索值 150,现在执行以下操作:

SELECT * FROM table WHERE field BETWEEN 100 AND 200
100和200是之前通过简单的加减法计算出来的。但现在我的结果搞砸了,因为它返回的结果就像保存到数据库中一样。

是否可以在 MySQL 中对结果进行排序,或者我必须随后使用 PHP 对结果进行排序?

I'm searching a value in my MySQL-Database and want to sort the results by the nearest items.

Example:

I search for a value of 150, within my Query I now do the following:

SELECT * FROM table WHERE field BETWEEN 100 AND 200
The 100 and the 200 are calculated before by an easy addition and substraction. But now my results are messed up, because it gives me the results back like they were saved to the database.

Is it possible to sort the results within MySQL or do I have to sort them afterwards with PHP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

以为你会在 2024-10-13 18:42:39

您应该能够添加一个 order by 子句,如下所示:

ORDER BY ABS(150-field)

you should be able to add an order by clause like so:

ORDER BY ABS(150-field)
失而复得 2024-10-13 18:42:39
SELECT * 
FROM table 
WHERE field BETWEEN 100 AND 200
ORDER BY field

或者你想要类似的东西吗

SELECT * 
FROM table 
WHERE field BETWEEN 100 AND 200
ORDER BY ABS(150-field)

不管怎样,有一些交互式在线 SQL 教程可以帮助您快速掌握 SQL 技能。

SELECT * 
FROM table 
WHERE field BETWEEN 100 AND 200
ORDER BY field

or did you want something like

SELECT * 
FROM table 
WHERE field BETWEEN 100 AND 200
ORDER BY ABS(150-field)

?

Anyway, there are interactive online SQL tutorials which should help you jump start your SQL skills.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文