Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobranie wszystkich wierszy nadrzędnych w jednym zapytaniu SQL

Na podstawie tutaj :

SELECT T2.id, T2.name
FROM (
    SELECT
        @r AS _id,
        (SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id,
        @l := @l + 1 AS lvl
    FROM
        (SELECT @r := 5, @l := 0) vars,
        table1 h
    WHERE @r <> 0) T1
JOIN table1 T2
ON T1._id = T2.id
ORDER BY T1.lvl DESC

Wiersz @r := 5 to numer strony dla bieżącej strony. Wynik jest następujący:

1, 'Home'
2, 'About'
4, 'Legal'
5, 'Privacy'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 15 podstawowych pytań do rozmowy kwalifikacyjnej na temat MySQL dla administratorów baz danych

  2. Ogłoszenie MySQL 5.6 EOL

  3. Automatyczne przełączanie awaryjne replikacji asynchronicznej w MySQL 8.0.22

  4. Uaktualnij MySQL do MariaDB 10 (Część 2 – Uaktualnij MariaDB/MySQL 5.5 do wersji 10.0)

  5. Monitorowanie baz danych za pomocą MySQL Enterprise Monitor