sql >> Database >  >> RDS >> Mysql

mysql-query om de root-ouder te krijgen

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.




  1. Hoe kunt u records in de huidige maand laten maken?

  2. Kan SQLite-database niet openen vanuit SQLIte Helper Oncreate, wanneer OnCreate wordt geactiveerd door de database voor de eerste keer te openen

  3. Installeer WordPress met Nginx, MariaDB 10 en PHP 7 op Debian 9

  4. Meerkolomsindex op 3 velden met heterogene gegevenstypen