php - 选择 mysql 查询中的前一个值

标签 php mysql

我目前正在使用 PHP 和 Mysql 中的应用程序,但在操作查询时遇到了一些问题。

这是我的模块表:

     +----+-----------+----------+
     | Id |   Title   | Position |
     +----+-----------+----------+
     |  1 | Module 1  |        1 |
     |  2 | Module 2  |        0 |
     |  3 | Module 3  |        2 |
     +----+-----------+----------+

在我的 php 代码中,我获取了执行查询的模块的 id,例如:$moduleId = 3;

我需要做的是选择具有先前位置的行。

My module id is 3, in this id my position is 2, so I need to select a previous position ... in this case, the Module 1. How can I run this query?

最佳答案

select * from modules where 
position < (select position from modules where id=?) 
order by position desc limit 1;

哪里?替换为 moduleId

关于php - 选择 mysql 查询中的前一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63379920/

相关文章:

php - PDO 中的 LIKE 查询不起作用

php - 有没有另一种方法可以在 PHP 中编写字符串文字(没有 ' or ")?

javascript - 高效填充下拉列表: Javascript vs Database (Mysql-Django)

PHP MySQL 报错 'field list' 中不存在列名

java - 让客户端监听服务器

php - MySQL 通过将 blob 数据分成几部分来检索它

mysql - 内部用LIKE Join,有什么问题?

php - 变量 $mysqli->result 出现错误,我还没有访问该变量

php - 通过不可靠的网络连接在 MySQL 和 SQL Server 之间同步数据

php - 插入数据 PDO 时出现问题