これを明確にしようと思います。
IDを使用せずに、特定の行と、その選択した行から1行前の相対的な行と、その選択した行から次の1行を選択する必要があります。これは可能ですか?要するに、前と次のもの。
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 |
+----+----------------------+-------+
まず、列の 1 つから特定の値に基づいて 1 つの行を選択する必要があります。私はそれを行う方法を知っています:
SELECT `value`
FROM `TABLE`
WHERE name = 'i_like_women'
これにより、ID 12 で値が lla の行が 1 つ選択されます。
私が必要としているのは、別の少なくとも 2 つの行を選択することです。または、言い換えれば、この選択されたものに関連する前のものと次のもの。
つまり、1 つの値に基づいて 3 つの行を選択する必要があります。ご想像のとおり、私は MySQL を初めて使用します。
お時間とご関心をお寄せいただきありがとうございます。私を助けて楽しんでください。