Heim Datenbank MySQL-Tutorial 如何定义深度未知的层次结构

如何定义深度未知的层次结构

Jun 07, 2016 pm 03:28 PM
如何 定义 层次 深度 结构

深度未知的层次结构在现实生活中经常出现,比如公司的员工组织关系、地域关系、文件系统中的树形结构等等,在展示的时候都可以很清楚的看到上下之间的关系。那么后台又是如何实现的呢。接下来介绍两种方法。 第一种:按编码从小到大的方式排序(展示比较容易

深度未知的层次结构在现实生活中经常出现,比如公司的员工组织关系、地域关系、文件系统中的树形结构等等,在展示的时候都可以很清楚的看到上下之间的关系。那么后台又是如何实现的呢。接下来介绍两种方法。

第一种:按编码从小到大的方式排序(展示比较容易)

用两列实现,第一列表示编码,第二列表示级数,比如

00 1

0001 2

0002 2

000101 3

。。。

那么在展示的时候只需要按照编码从小到大排序即可,但是这里有一个问题就是如何判断当前结点是否为叶子结点,这里采用的方法是判断当前值与下一个值是否具有子串的关系,如果有,则不是;否则是叶子结点。

第二种:自引用的父子关系(sql 不好实现)

也是用两列实现,第一列表示自增的主键id,第二列引用第一列parentid,比如

1 1

2 1

3 1

4 2

...

那么在展示的时候需要知道其最大深度,有n级则inner join n-1次。
可以从最低级向最高级inner join:每次保留parentid即可
或可以从最高级向最低级inner join:每次保留id即可。

比如:

--从高级向低级查找
select E.id,level1,level2,level3,E.name as level4 from (
select D.id,level1,level2,D.name as level3 from (
select B.id,A.name level1,B.name level2 from 
region as A inner join region as B
on A.id=B.parentid) as C inner join region as D
on C.id=D.parentid) as D inner join region as E
on D.id=E.parentid


--从最低级向最高级查找
select F.parentid,F.name level1,level2,level3,level4 from 
(
select D.parentid,D.name level2,level3,level4 from
(
select A.parentid,A.name level3,B.name level4 from 
region as A inner join region as B
on A.id=B.parentid) as C inner join region as D
on C.parentid=D.id) as E inner join region as F
on E.parentid=F.id
Nach dem Login kopieren

 

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie den Tiefeneffekt auf dem iPhone [2023] So verwenden Sie den Tiefeneffekt auf dem iPhone [2023] Sep 07, 2023 pm 11:25 PM

Wenn es eine Sache gibt, die Sie bei einem iPhone besonders hervorheben können, dann ist es die Anzahl der Anpassungsoptionen, die Ihnen beim Umgang mit dem Sperrbildschirm Ihres iPhones zur Verfügung stehen. Zu den Optionen gehört die Tiefeneffektfunktion, mit der Ihr Hintergrundbild so aussieht, als würde es mit dem Uhr-Widget des Sperrbildschirms interagieren. Wir erklären Ihnen den Tiefeneffekt, wann und wo Sie ihn anwenden können und wie Sie ihn auf Ihrem iPhone nutzen. Was ist der Tiefeneffekt auf dem iPhone? Wenn Sie ein Hintergrundbild mit verschiedenen Elementen hinzufügen, teilt das iPhone es in mehrere Tiefenebenen auf. Zu diesem Zweck nutzt iOS eine integrierte neuronale Engine, um Tiefeninformationen in Hintergrundbildern zu erkennen und das Motiv, das scharf dargestellt werden soll, von anderen Elementen des ausgewählten Hintergrunds zu trennen. Dadurch entsteht ein cool aussehender Effekt an der Stelle, an der sich die Hauptfigur im Hintergrundbild befindet

iOS 17: So ändern Sie den Uhrstil des iPhone im Standby-Modus iOS 17: So ändern Sie den Uhrstil des iPhone im Standby-Modus Sep 10, 2023 pm 09:21 PM

Standby ist ein Sperrbildschirmmodus, der aktiviert wird, wenn das iPhone an das Ladegerät angeschlossen und horizontal (oder im Querformat) ausgerichtet ist. Es besteht aus drei verschiedenen Bildschirmen, von denen einer im Vollbildmodus angezeigt wird. Lesen Sie weiter, um zu erfahren, wie Sie den Stil Ihrer Uhr ändern können. Auf dem dritten Bildschirm von StandBy werden Uhrzeiten und Daten in verschiedenen Themen angezeigt, die Sie vertikal wischen können. Einige Themes zeigen auch zusätzliche Informationen an, wie z. B. Temperatur oder nächster Alarm. Wenn Sie eine beliebige Uhr gedrückt halten, können Sie zwischen verschiedenen Themen wechseln, darunter Digital, Analog, Welt, Solar und Floating. Float zeigt die Zeit in großen Blasenzahlen in anpassbaren Farben an, Solar verfügt über eine Standardschriftart mit einem Sonneneruptionsdesign in verschiedenen Farben und World zeigt die Welt durch Hervorhebung an

Was ist Discuz? Definition und Funktionseinführung von Discuz Was ist Discuz? Definition und Funktionseinführung von Discuz Mar 03, 2024 am 10:33 AM

„Discuz erkunden: Definition, Funktionen und Codebeispiele“ Mit der rasanten Entwicklung des Internets sind Community-Foren zu einer wichtigen Plattform für Menschen geworden, um Informationen zu erhalten und Meinungen auszutauschen. Unter den vielen Community-Forumsystemen wird Discuz als bekannte Open-Source-Forumsoftware in China von der Mehrheit der Website-Entwickler und -Administratoren bevorzugt. Was ist Discuz? Welche Funktionen hat es und wie kann es unserer Website helfen? In diesem Artikel wird Discuz ausführlich vorgestellt und spezifische Codebeispiele beigefügt, damit die Leser mehr darüber erfahren können.

Was ist die Definition eines Kurzvideos? Was ist die Definition eines Kurzvideos? Dec 23, 2020 pm 02:56 PM

Die Definition von Kurzvideos bezieht sich auf hochfrequent gepushte Videoinhalte, die auf verschiedenen neuen Medienplattformen abgespielt werden, für die Betrachtung unterwegs und in einem kurzfristigen Freizeitzustand geeignet sind und in der Regel innerhalb von 5 Minuten auf neuen Internetmedien verbreitet werden Der Inhalt vereint Kompetenzaustausch, Humor, Modetrends, soziale Hotspots, Straßeninterviews, öffentliche Aufklärung, Werbekreativität, Geschäftsanpassung und andere Themen. Kurze Videos zeichnen sich durch einen einfachen Produktionsprozess, eine niedrige Produktionsschwelle und eine starke Beteiligung aus.

So erstellen Sie benutzerdefinierte Rahmen in Microsoft Word So erstellen Sie benutzerdefinierte Rahmen in Microsoft Word Nov 18, 2023 pm 11:17 PM

Möchten Sie, dass die Titelseite Ihres Schulprojekts spannend aussieht? Nichts hebt es so sehr von anderen Einsendungen ab wie ein schöner, eleganter Rahmen auf der Startseite Ihrer Arbeitsmappe. Allerdings sind die standardmäßigen einzeiligen Ränder in Microsoft Word sehr offensichtlich und langweilig geworden. Daher zeigen wir Ihnen die Schritte zum Erstellen und Verwenden benutzerdefinierter Rahmen in Microsoft Word-Dokumenten. So erstellen Sie benutzerdefinierte Rahmen in Microsoft Word Das Erstellen benutzerdefinierter Rahmen ist sehr einfach. Sie benötigen jedoch eine Grenze. Schritt 1 – Benutzerdefinierte Ränder herunterladen Im Internet gibt es jede Menge kostenlose Ränder. Wir haben einen Rand wie diesen heruntergeladen. Schritt 1 – Suchen Sie im Internet nach benutzerdefinierten Rahmen. Alternativ können Sie auch zum Ausschneiden übergehen

Die Definition und Funktion des zusammengesetzten MySQL-Primärschlüssels Die Definition und Funktion des zusammengesetzten MySQL-Primärschlüssels Mar 15, 2024 pm 05:18 PM

Der zusammengesetzte Primärschlüssel in MySQL bezieht sich auf den Primärschlüssel, der aus mehreren Feldern in der Tabelle besteht und zur eindeutigen Identifizierung jedes Datensatzes verwendet wird. Im Gegensatz zu einem einzelnen Primärschlüssel wird ein zusammengesetzter Primärschlüssel durch die Kombination der Werte mehrerer Felder gebildet. Beim Erstellen einer Tabelle können Sie einen zusammengesetzten Primärschlüssel definieren, indem Sie mehrere Felder als Primärschlüssel angeben. Um die Definition und Funktion zusammengesetzter Primärschlüssel zu demonstrieren, erstellen wir zunächst eine Tabelle mit dem Namen „users“, die drei Felder enthält: id, username und email, wobei id ein automatisch inkrementierender Primärschlüssel und user ist

Einführung in PHP-Schnittstellen und deren Definition Einführung in PHP-Schnittstellen und deren Definition Mar 23, 2024 am 09:00 AM

Einführung in die PHP-Schnittstelle und wie sie definiert ist. PHP ist eine in der Webentwicklung weit verbreitete Open-Source-Skriptsprache. Sie ist flexibel, einfach und leistungsstark. In PHP ist eine Schnittstelle ein Werkzeug, das gemeinsame Methoden zwischen mehreren Klassen definiert, um Polymorphismus zu erreichen und Code flexibler und wiederverwendbar zu machen. In diesem Artikel werden das Konzept von PHP-Schnittstellen und deren Definition vorgestellt und spezifische Codebeispiele zur Veranschaulichung ihrer Verwendung bereitgestellt. 1. PHP-Schnittstellenkonzept Die Schnittstelle spielt eine wichtige Rolle in der objektorientierten Programmierung und definiert die Klassenanwendung

Berechnen Sie bei einem gegebenen azyklischen Graphen die minimale Summe der Elemente in jeder Tiefe Berechnen Sie bei einem gegebenen azyklischen Graphen die minimale Summe der Elemente in jeder Tiefe Sep 10, 2023 pm 06:49 PM

Ein Graph, der keine Zyklen oder Schleifen enthält, wird als azyklischer Graph bezeichnet. Ein Baum ist ein azyklischer Graph, in dem jeder Knoten mit einem anderen eindeutigen Knoten verbunden ist. Azyklische Graphen werden auch als azyklische Graphen bezeichnet. Der Unterschied zwischen zyklischen Graphen und azyklischen Graphen – Die chinesische Übersetzung von CycleGraph lautet: zyklische Graphen und azyklische Graphen bilden eine geschlossene Schleife. Der Graph bildet keine geschlossene Schleife. Tiefenschleifen sind nicht in der Karte enthalten. Jede Tiefe ist in der Karte enthalten. Beispiel 1 Nehmen wir ein Beispiel für einen zyklischen Graphen: Ein zyklischer Graph entsteht, wenn eine geschlossene Schleife existiert. AbbildungI stellt ein Zyklusdiagramm dar und enthält keine Tiefenknoten. Die Übersetzung von Beispiel2 lautet: Beispiel 2 Lassen Sie uns dies anhand eines Beispiels eines azyklischen Graphen veranschaulichen: Der Wurzelknoten des Baums wird als Null-Tiefe-Knoten bezeichnet. In Abbildung II gibt es nur eine Wurzel in der Tiefe Null, also 2

See all articles