Ich habe eine Tabelle mit den Kategorien:SQLite und kundenspezifischen Auftrag von
ID Category
"1","Baking"
"3","Family"
"4","Entertaining"
"5","Children"
"6","Desserts"
Nun würde Ich mag das Ergebnis der select-Anweisung zu
ID Category
"4","Entertaining"
"3","Family"
"1","Baking"
"5","Children"
"6","Desserts"
zum Beispiel bestellen. In MySQL würden Sie es so machen:
SELECT * FROM CATEGORIES ORDER BY FIELD (ID, 4,3,1,5,6);
Wie würden Sie es in SQLite tun? Ich habe kein Feld "Bestellung von".
+1 ya zu mir, ich tippte es einfach aus. Die andere Möglichkeit besteht natürlich darin, ein Attribut zu erstellen, das als Priorität fungiert. Dann können Sie einfach nach der Priorität sortieren. Dies ist nicht der ideale Weg, sondern eine Lösung, die ich in der Vergangenheit anwenden musste. – northpole
Für Geschwindigkeit mit großen Datensätzen würde ich wahrscheinlich eine indizierte Hilfstabelle erstellen, die die IDs und ihre gewünschte Reihenfolge enthält, und dann dagegen beitreten und nach ihrer indizierten Spalte sortieren. Nicht sicher, wie SQLite damit umgehen würde, aber "größere" DB-Engines würden wahrscheinlich davon profitieren, da der CASE-Ausdruck nicht optimal zum Bestellen ist. – Tomalak