コメントテーブルのオフセットリプレイテーブルMySQLは</p> <pre><code>+------+----------+ | id | comment | +------+----------+ | 1 | foo | | 2 | bar | | 3 | foobar | +------+----------+ </code></pre> <p>行
+------+----------+------------+
| id | replay |comment_id |
+------+----------+------------+
| 1 | replay1 | 1 |
| 2 | replay2 | 2 |
| 3 | replay3 | 1 |
+------+----------+------------+
SELECT
`comment`.`comment`,
`comment`.`id`,
(SELECT `replay`.`replay` FROM `replay`
WHERE `replay`.`comment_id` = `comment`.`id`
ORDER BY `replay`.`id` DESC LIMIT 1) AS `replay`
FROM `comment`
は結果がreplay3の
+----------+------+---------+
| comment | id | replay |
+----------+------+---------+
| foo | 1 |replay3 |
| bar | 2 |replay2 |
| off | 3 | |
+------+----------+---------+
どのように私は(オフセット)の位置を取得することができますになり得ます、それが期待される2
replay1は1、それをオフセット、replay2オフセットは1とreplay3をオフセットされて、私は今、あなたのアイデアを得た2
オフセットは、テーブル内の位置を意味しますか? 'ORDER BY'をしなければ、その位置は予測できません。時系列的な位置を意味すると仮定すると、 'DATETIME'カラムを追加する必要があります。 IDは必ずしもシーケンシャル/年代順の識別子ではありません。 – DanFromGermany
@DanFromGermany年代順ではありません。リプレイのオフセットが必要です。 –
は、「リプレイ」の値は常に「replayX」ですか?それでは、 "再生"を挿入せず、番号だけを挿入してください。 – DanFromGermany