Hierarchische Gruppierung nach mySQL
Ich habe ein Schema, das im Wesentlichen so aussieht:
<code>CREATE TABLE `data` ( `id` int(10) unsigned NOT NULL, `title` text, `type` tinyint(4), `parent` int(10) ) </code>
Dastype
field ist nur eine Aufzählung, in der 1 ein übergeordneter Typ und 2 ein untergeordneter Typ ist (tatsächlich gibt es viele Typen, bei denen sich einige wie Eltern und andere wie Kinder verhalten sollten). Dasparent
Feld gibt an, dass ein Datensatz das untergeordnete Element eines anderen Datensatzes ist.
Ich weiß, dass dies wahrscheinlich nicht ideal für die Abfrage ist, die ich erstellen möchte, aber damit muss ich arbeiten.
Ich möchte die Daten sortieren und gruppieren, damit die übergeordneten Datensätze sortiert werdentitle
Unter jedem übergeordneten Element sind die untergeordneten Datensätze sortiert nachtitle
. Wie so:
<code> ID | title |type |parent -------------------------------- 4 | ParentA | 1 | 2 | ChildA | 2 | 4 5 | ChildB | 2 | 4 7 | ParentB | 1 | 9 | ChildC | 2 | 7 1 | ChildD | 2 | 7 </code>
**Bearbeiten **
Wir sollten in der Lage sein, das zu nehmentype
Feld ganz aus dem Bild. Obparent
ist nicht null, dann sollte es unter dem übergeordneten Element gruppiert werden.