Probeer deze zoekopdracht
Het werkt in de veronderstelling dat de id van de ouder kleiner is dan de onderliggende waarde, aangezien de records in aflopende volgorde worden gesorteerd als een afgeleide tabel vóór de daadwerkelijke zoekopdracht.
select
@parent:=parent_id as prnt, title, id
from
(select @parent:=8 ) a
join
(select * from tbl order by id desc) b
where
@parent=id
Fiddle
| PRNT | TITLE | ID |
|------|-------|----|
| 7 | q | 8 |
| 6 | a | 7 |
| 0 | d | 6 |
Opmerking De beste manier is om dit te doen door een opgeslagen proces te gebruiken.