sql >> Database teknologi >  >> RDS >> Mysql

mysql for at få rekorddybde, tælle forælder- og forfædreposter

Hvis du laver mange forespørgsler som denne, kan du finde ud af, at en indlejret sætmodel er mere passende end den tilgrænsende liste, du spørger om. Der er en god diskussion af begge modeller her .

Under alle omstændigheder, for at gøre, hvad du beder om med en tilstødende liste, ser du på enten rekursion i applikationslaget eller gemmer niveauet som en 3. kolonne.

ETA:hvis dit niveauantal ikke er voldsomt højt, kan du gøre det med selvtilslutninger:

for eksempel. noder med 2 forfædre:

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. MVC4:UserIsInRole - Kan ikke oprette forbindelse til SQL Server-databasen

  2. Opdatering af MySQL primær nøgle

  3. Hvordan ignorerer jeg og-tegn i et SQL-script, der kører fra SQL Plus?

  4. hvordan man optimerer denne forespørgsel (4 mm tabeller involveret)