MySQL 返回值最接近特定数字的行

标签 mysql eloquent

我的数据库中有一张类似于下面的表:

id  |   name    |   score
==========================
...     ...         ...
44      Bob         89
45      Jane        567
46      Andrew      22
...     ...         ...

score 始终为正整数。假设我想返回分数与 Jane 最接近的 5 个用户。假设 5 是一个变量,我该如何使用 SQL(或 Eloquent)来做到这一点?

最佳答案

select * from your_table
order by abs(score - (select score from your_table where name = 'Jane'))
limit 5

关于MySQL 返回值最接近特定数字的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671533/

相关文章:

php - 模型中的 Laravel 动态填充

php - 使用 DB::raw 和 Eloquent 使用相同查询的不同结果

MySQL。如何从小时获取点钟时间

mysql - 如何将多个 csv 文件导入 MySQL 数据库

python - 在 SQLAlchemy 中使用连接

javascript - 资源解释为文档,但使用 MIME 类型 application/json,laravel 进行传输

mysql - JDBC MySQL 尝试使用选择子查询插入多行

php - 一条update语句更新多个mysql表出错

laravel - 获取最后 N 个条目并按升序排序

php - 如何在 laravel 8 中使用我自己预先存在的表进行身份验证?