【发布时间】:2013-08-14 21:17:37
【问题描述】:
我有如下表格记录:-
my_table
id | rating | description
1 | 0.0 | bed
2 | 1.0 | good
3 | 0.0 | bed
4 | 1.0 | good
5 | 0.0 | bed
6 | 0.0 | bed
7 | 0.0 | bed
现在我通过评级缩短了这张表,我得到了以下结果。 (查询:SELECT * FROM my_table ORDER BY rating DESC)
结果表
id | rating | description
2 | 1.0 | good
4 | 1.0 | good
1 | 0.0 | bed
==> 3 | 0.0 | bed
5 | 0.0 | bed
6 | 0.0 | bed
7 | 0.0 | bed
现在我想要以前的 id = 3 记录。
预期结果
id | rating | description
1 | 0.0 | bed
我怎样才能实现它。在单个 mysql 查询中? 请帮帮我。
【问题讨论】:
-
你真正想要什么? (为什么你想要记录 3 的前一条记录?)你想要评分为 0.0 的第一条记录吗? “第一”是什么意思? (我假设您的意思是第一条记录是“id”最低的记录,但您根本不按 id 排序。)您可以尝试像
select * from my_table where rating = {what you want} order by id limit 1这样简单的东西。 -
这里 id = 3 不是静态的。假设我在查询中提供了 id = 1,那么它将检索记录 4|1.0|good。请冷藏问题