我会尽力说明这一点。
我需要在不使用 id 的情况下从该选定行中选择一个特定行和一个相对的前一行,以及从该选定行中选择一个相对的下一行。这可能吗?简而言之,上一个和下一个。
我不能(也许我只是不知道如何)使用 id 的原因是因为它们不是按顺序排列的。从这个相当不成熟和随机的示例中可以看出,它们存在差距。
TABLE <-the name of the table
+----+----------------------+-------+
| id | name                 | value |
+----+----------------------+-------+
|  1 | some_name            | asf   |
+----+----------------------+-------+
|  4 | hello                | A3r   |
+----+----------------------+-------+
|  5 | how_do_you_do        | HR5   |
+----+----------------------+-------+
|  8 | not_bad              | 00D   |
+----+----------------------+-------+
| 12 | i_like_women         | lla   |
+----+----------------------+-------+
| 13 | are_you_serious      | 1Ha   |
+----+----------------------+-------+
| 15 | nah_i_kid            | Ad4   |
+----+----------------------+-------+
| 17 | it_is_just_the_boobs | Zc5   |
+----+----------------------+-------+
| 18 | thank_god            | 102   |
+----+----------------------+-------+
| 44 | no_kidding           | jjy   |
+----+----------------------+-------+
首先,我需要根据其中一列的特定值选择一行。我知道该怎么做:
SELECT `value` 
FROM `TABLE` 
WHERE name = 'i_like_women'
这将选择 id 为 12 且值为 lla 的一行。
我需要选择另外至少两行:一行名称为“not_bad”,另一行名称为“are_you_serious”,但未指定。或者,换句话说,相对于这个选定的前一个和下一个。
简而言之,应该基于一个值选择三行。我是 MySQL 新手,你可以猜到。
感谢您的时间和关注。乐于帮助我。