我会尽力说明这一点。
我需要在不使用 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 新手,你可以猜到。
感谢您的时间和关注。乐于帮助我。