Jika Anda membuat banyak kueri seperti ini, Anda mungkin menemukan bahwa model kumpulan bersarang lebih sesuai daripada daftar kedekatan yang Anda tanyakan. Ada diskusi bagus tentang kedua model di sini .
Bagaimanapun, untuk melakukan apa yang Anda minta dengan daftar kedekatan, Anda melihat rekursi di lapisan aplikasi, atau menyimpan level sebagai kolom ke-3.
ETA:jika jumlah level Anda tidak terlalu tinggi, Anda dapat melakukannya dengan bergabung sendiri:
misalnya node dengan 2 ancestor:
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;