php - 在 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。我该如何运行这个查询?
解决方案
select * from modules where
position < (select position from modules where id=?)
order by position desc limit 1;
在哪里 ?由moduleId代替
推荐阅读
- html - 表格中不规则间距的列
- r - 通过 R 中的列中的唯一值对数据框进行子集
- ruby-on-rails - Ruby 3.0 / Rails 6 通过 ODBC 连接到 SQL Server?
- json - 使用 anyOf 验证 Json Schema 多态性
- typescript - 解构数组时定义类型
- ruby-on-rails - 是否有理由将测试依赖项保留在 :development 组中?
- websocket - 当前没有任何数据的通道上的 Netty channel().read()
- jquery - 从 ajax 内容中查找 div 类名
- reactjs - 将 HTML 输入控件添加到 React-Table 中的标题
- android - 如何观察链式工作人员的 Android 工作人员进度