ich einen Fehler Also, ASC und RANDOM() auf SQLite mischen, um mit Blick auf bei dem Versuch, für 2 Spalten ORDER BY zu verwenden:Wie BY
... ORDER BY val, random();
Fehler ist: „2. ORDER BY Begriff passt nicht jede Spalte in der Ergebnismenge“
Ich habe versucht, verschiedene Arten ASC kombinieren für erste Spalte und zufällige Sortierung für die zweite Spalte sortiert wird, ohne Glück.
aktualisiert, um mehr Informationen zur Verfügung zu stellen
CREATE TABLE tabela
( id
INTEGER, val
TEXT, PRIMARY KEY (id
) );
INSERT INTO tabela (val) VALUES ('paid');
INSERT INTO tabela (val) VALUES ('paid');
INSERT INTO tabela (val) VALUES ('paid');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
INSERT INTO tabela (val) VALUES ('standard');
Erwartetes Probener:
val id
--- ---
paid 3
paid 1
paid 2
standard 5
standard 8
standard 4
standard 6
standard 7
wo 'id' 1,2,3 wird innerhalb von 'bezahlt' 'val zufällig sortiert werden' und 'id' 4 ... 8 zufällig sein innerhalb 'Standard' 'val' sortiert
'Auftrag von a, b 'bedeutet nicht, zu sortiere eine Spalte nach a und eine Spalte nach b. Sie werden immer komplette Zeilen sortieren. Der erste Sortierschlüssel ist a, für das gleiche a wird der zweite Schlüssel b ausgewertet. Bitte geben Sie ein MCVE http://stackoverflow.com/help/mcve Für SQLite ein, das einen Dump enthält, dh einen Text mit mindestens einem "CREATE TABLE" und mehreren "INSERT INTO" -Zeilen, damit wir Ihre Beispielstruktur neu erstellen können Beispieleingabe. Geben Sie ein Codebeispiel an, bei dem zwei Spalten nach anderen Schlüsseln als "random()" sortiert werden (d. H., Dass Sie mich falsch angeben). – Yunnosch
Hallo @Yunnosch, danke für deine Aufmerksamkeit. Es tut mir leid, dass ich nicht "Complete" bin. Ich habe eine Frageupdate gepostet, hoffe mein MCV ist jetzt in Ordnung. –
Sind "bezahlte" und "standardmäßige" feste Strings? Kann ich sie in der Abfrage fest codieren? – Yunnosch