sql >> Database >  >> RDS >> Mysql

waarde controleren in n-diepteboom?

Als geneste sets geen optie zijn, weet ik het volgende:

  • Als de gegevens zo zijn geordend dat kinderen van een ouder altijd de ouder volgen, kunt u dit oplossen met één database-query over alle gegevens door verborgen knooppunten in de uitvoer over te slaan.

Dit werkt ook met een gesorteerde geneste set, het principe is uiteengezet in dit antwoord de algoritmen voor het verkrijgen van de diepte werken echter niet en ik zou een recursieve iterator die verborgen items kan verwijderen.

Ook als de gegevens niet geordend zijn, kunt u een boomstructuur maken van de (ongesorteerde) query van alle rijen zoals beschreven in het antwoord op geneste array. Derde niveau verdwijnt . Geen recursie nodig en je krijgt een structuur die je dan gemakkelijk kunt uitvoeren, dat had ik moeten behandelen voor <ul>/<li> html-stijl uitvoer ook in een ander antwoord.



  1. Back-up van MySQL-schema met tabelbeperkingen voor refererende sleutels

  2. Prehistorische en moderne benadering van het ontwerpen van databases

  3. MySQL:hoe programmatisch relaties met externe sleutels bepalen?

  4. Hoe selecteer ik in Django 100 willekeurige records uit de database?