首页 > 解决方案 > 在 mysql 查询中选择前一个值

问题描述

我目前正在使用 PHP 和 Mysql 中的应用程序,并且在操作查询时遇到了一些麻烦。

这是我的模块表:

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

在我的 php 代码中,我得到一个模块的 id 来执行查询,例如:$moduleId = 3;

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

我的模块 id 是 3,在这个 id 中我的位置是 2,所以我需要选择一个以前的位置......在这种情况下,模块 1。我该如何运行这个查询?

标签: phpmysql

解决方案


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

在哪里 ?由moduleId代替


推荐阅读