Warum & & Operator von PostgreSQL 9.4 Verwendung zum Überprüfen der Überlappung von zwei Array, ändern Sie die Reihenfolge des Ergebnisses?&& Operator die Reihenfolge des Ergebnisses ändern
Ich habe eine Abfrage
Select * FROM "View_Student_Plan" WHERE "ClassID" && ARRAY[53]:: bigint[]
Meine Ansicht in der Reihenfolge des Aufnahmedatums sortiert ist. Es funktioniert gut, wenn ich
Select * FROM "View_Student_Plan"
Aber wenn ich Teil mit Abfrage verbleibenden attach es um die Reihenfolge der Folge ändern.
Ich habe eine andere Bedingung in Where-Klausel wie Student_Name like 'P%',
dann nicht beeinflussen Reihenfolge der Ergebnis von Select-Anweisung gegeben. Dann warum nicht für "ClassID" && ARRAY[53]:: bigint[]
Wenn Sie eine bestimmte Reihenfolge Ihres Ergebnisses benötigen, sollten Sie Ihrer Abfrage eine ORDER BY-Klausel hinzufügen. Sie sollten nicht auf die Reihenfolge von Abfragen oder Sichten zählen, die keine explizite Reihenfolge haben. – clemens
@macmoonshine Aber wenn ich Frage ausführen wähle * von "Ansicht ..." dann funktioniert es richtig. –
@ Pooja-G kann es, oder morgen kann es nicht. Diese falsche Annahme ist so stark, dass sqlite sogar ein Pragma hat, um die Reihenfolge umzukehren, nur um diese Fehler wieder auftauchen zu lassen. Sie können sich nicht darauf verlassen, dass etwas bestellt wird, wenn die Spezifikation es nicht erlaubt. – keltar