HintergrundWenn Sie eine Funktion entwickeln, die Kommentaren ähnelt, müssen Sie bei Bedarf eine Teilmenge aller Kommentare abfragen. Die Implementierungsmethoden sind in verschiedenen Datenbanken unterschiedlich. Dieser Artikel verwendet die MySQL-Datenbank, Version 8.0
brauchenSuchen Sie nach den Kindern und Enkelkindern, deren Name Zhang San ist. Die PID ist die übergeordnete ID des aktuellen Datensatzes. Beispielsweise ist die PID von Zhang Sans Sohn die ID von Zhang San und so weiter. EinführungBerechnen Sie das kumulierte Ergebnis von 1 bis 100. WITH RECURSIVE t(n) AS ( //t ist unsere Ergebnistabelle, n ist das Feld, Sie können nur ein Feld angeben, um anzuzeigen, dass kein Feld angegeben ist VALUES (1) //Beginn der Rekursion, an diesem Punkt kann verstanden werden, dass das Feld n der t-Tabelle nur einen Datensatz 1 hat UNION ALLE WÄHLE n+1 AUS t, WO n < 100 /*Das Ergebnis ist hier 2. Zu diesem Zeitpunkt hat das Feld n der Tabelle t zwei Datensätze, 1 und 2. * 3 * ... * 100 */ ) SELECT sum(n) FROM t; //Summenfeld n Vater betet für SohnWITH RECURSIVE temp AS ( // Nennen Sie die Ergebnistabelle temp SELECT * FROM resource r WHERE r.name = '张三' // Den Datensatz der übergeordneten ID abfragen. Zu diesem Zeitpunkt ist dieser Datensatz bereits in der temporären Tabelle vorhanden, wie in Abbildung 1-1 dargestellt UNION ALLE /*Beachten Sie zu diesem Zeitpunkt, dass das folgende SQL die letzten beiden Datensätze im erwarteten Ergebnis sind (mit Ausnahme des ersten). *Beachten Sie die Bedingung nach where: Wir verwenden die ID des einzigen Datensatzes in der temporären Tabelle, um die PID in der Ressourcentabelle zuzuordnen *Die zweite Datensatz-ID von temp wird nur dann abgeglichen, wenn der erste Datensatz von temp nicht mit der PID in der Ressourcentabelle übereinstimmt */ WÄHLEN Sie r.* VON Ressource r,temp t, WO t.id = r.pid )Wählen Sie * aus Temp Sohn ermittelt gegen VaterMIT rekursiver Temperatur ALS ( SELECT * FROM resource r WHERE r.name = 'Ressourcenname' UNION ALLE //Es ist bekannt, dass es sich um eine Teilmenge handelt, daher müssen wir die Ressourcen-ID über die temporäre PID abgleichen WÄHLEN Sie r.* VON Ressource r,temp t, WO t.pid = r.id )Wählen Sie * aus Temp Dies ist das Ende dieses Artikels über die Methode zum rekursiven Abfragen von Parent-Child-Sets in MySql8. Weitere relevante Inhalte zum rekursiven Abfragen von Parent-Child-Sets in MySql8 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: HTML ist die zentrale Grundlage für die Entwicklung von WEB-Standards
>>: Vue Uniapp realisiert den Segmentierungseffekt
Laderegeln der Require-Methode Laden aus dem Cach...
Lösung für das Problem, dass in Linux kein Entpac...
Python stellt eine Verbindung zu MySQL her, um Da...
Inhaltsverzeichnis Konfigurieren Sie zuerst packa...
Vorwort Wie wir alle wissen, unterstützt das auf ...
Inhaltsverzeichnis 1. Einleitung 2. MVCC (Multi-V...
Vorwort Die Schlüsselwörter von MySQL und Oracle ...
Unsere erfahrenen Vorgänger haben zahllose Codes ...
Docker-Installation Über die Installation auf ein...
Vorwort Wir alle wissen, dass Startups zunächst m...
Die Kodierung von Webseiten wird im Englischen als...
1. Wer ist Tomcat? 2. Was kann Tomcat? Tomcat ist...
Von: https://blog.csdn.net/qq_44761243/article/de...
Laden Sie MySQL 8.0.22 zu Ihrer Information herun...
In diesem Artikel wird der spezifische Code für J...