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

mysql, aby uzyskać głębokość rekordu, policzyć rekordy rodziców i przodków

Jeśli wykonujesz wiele takich zapytań, może się okazać, że zagnieżdżony model zestawu jest bardziej odpowiedni niż lista sąsiedztwa, o którą pytasz. Istnieje dobre omówienie obu modeli tutaj .

W każdym razie, aby zrobić to, o co prosisz, z listą sąsiedztwa patrzysz albo na rekursję w warstwie aplikacji, albo na zapisanie poziomu jako trzeciej kolumny.

ETA:jeśli liczba twoich poziomów nie jest zbyt wysoka, możesz to zrobić za pomocą złączeń siebie:

np. węzły z 2 przodkami:

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. Importowanie dużego pliku sql do MySql za pomocą wiersza poleceń

  2. łącze do bazy danych między dwoma serwerami mysql działającymi w dwóch różnych lokalizacjach

  3. Mysql Wybierz wiersze, w których dwie kolumny nie mają tej samej wartości

  4. Jak używać formatu_daty podczas korzystania z JPQL/JPA?

  5. Nieznana kolumna w podzapytaniu mysql