Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql, за да получите дълбочината на записа, да преброите записите на родител и предшественик

Ако правите много заявки като тази, може да откриете, че моделът на вложен набор е по-подходящ от списъка на съседство, за който питате. Има добра дискусия за двата модела тук .

Във всеки случай, за да направите това, което искате със списък на съседство, гледате или рекурсия в слоя на приложението, или съхранявате нивото като 3-та колона.

ETA:ако броят на нивата ви не е много висок, можете да го направите със самостоятелно присъединяване:

напр. възли с 2 предшественика:

SELECT t1.node 
FROM mytable AS t1
JOIN mytable AS t2 ON t1.parent = t2.node
JOIN mytable AS t3 ON t2.parent = t3.node
WHERE t3.parent IS NULL;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога трябва да използвам MySQLi вместо MySQL?

  2. Списък със съхранени процедури/функции Mysql команден ред

  3. Използвайте MSSQL и MySQL с CodeIgniter

  4. уведомете по имейл за датата на изтичане

  5. MySQL правилният синтаксис за използване близо до '' при грешка на ред 1