Ich entwickle einen PHP-Skript, und ich habe die folgende Tabelle:MySQL Gruppenzeilen durch eine Spaltensortierung durch eine andere Spalte
+----+-----------+----------+--------------+
| id | id_parent | position | feature |
+----+------------+---------+--------------+
| 1 | 1 | 2 | -B-A-C- |
| 2 | 1 | 3 | -B-C- |
| 3 | 2 | 4 | -C-B- |
| 4 | 3 | 1 | -A-B- |
| 5 | 1 | 6 | -A-C- |
| 6 | 2 | 5 | -C-B- |
| 7 | 2 | 7 | -B-C- |
| 8 | 3 | 8 | -A- |
+----+-----------+----------+--------------+
Aus dieser Tabelle würde Ich mag alle Zeilen auszuwählen, mit „Feature“ LIKE "% -A-%", aber zuerst das Ergebnis mit der niedrigsten "Position" anzeigen, dann alle Zeilen, die denselben Wert für die Spalte "id_parent" des ersten Ergebnisses haben, dann Zeile mit der zweitniedrigsten "Position" und alle
+----+-----------+----------+--------------+
| id | id_parent | position | feature |
+----+------------+---------+--------------+
| 4 | 3 | 1 | -A-B- |
| 8 | 3 | 8 | -A- |
| 1 | 1 | 2 | -B-A-C- |
| 5 | 1 | 6 | -A-C- |
+----+-----------+----------+--------------+
: Zeilen, die gleiche „id_parent“ des Ergebnisses mit der 2. niedrigsten „Position“, und so weiter haben ... so sollte das Endergebnis sein
Aus irgendeinem Grund kann ich hier nicht erklären, ich muss haben und HAVING-Klausel für die Auswahl der richtigen "Feature" -Wert (... HAVING 'Feature' LIKE '% -A-%' ...).
Ist es möglich, all dies mit MySQL zu machen (möglicherweise ohne Unterabfragen) oder Daten mit PHP zu verarbeiten?
Dies ist ein drastischer Schritt rückwärts. Dies ist ein schlechtes Design. Wenn Sie über mehrere Features verfügen, sollten Sie diese in einer separaten Tabelle speichern - mit einer separaten Zeile für jedes Feature. – Strawberry