Art der Sortierung

Hallöchen,
ich möchte gerne per PHP den Inhalt einer Tabelle tabellarsich ausgeben.
Jetzt wollte ich das ganze natürlich in einer entsprechenden Sortierung erfolgen lassen, jedoch habe ich nur “Sortierung nach Spalte XY ASC oder DESC” gefunden.
Gibt es da noch andere Methoden, wo ich spezielle Vorgaben machen kann?

Natürlich, z.B. by random().

Und wenn Du uns sagst, was und wie Du es gern hättest, wäre die Antwort u.U. noch zielführender für Dich.

LIMIT, DISTINCT,HAVING ORDER BY, GROUP BY usw. da gibt es noch viele viele kleine Möglichkeiten, mit GRO?EM Efffekt :smiley:

Mit einer Funktion, die eine Zufallszahl zwischen 0.0 und 1.0 liefert, sortiert man Datensätze? Hat das schon jemand getestet?




mfg

fristo

Was genau hindert Dich, dies mal zu probieren?

select generate_series(1,10) order by random();

akretschmer hat Recht, dass man damit Datensätze sortiert.
Die Frage bleibt: ist das eine sinnige Sortierung :wink:

Danke, daß Du als ‘Erfahrener Benutzer’ mir Recht gibst :wink:

Ich schrieb ja auch dies nur als Beispiel für eine mögliche Sortierung. Denkbar ist da noch viel mehr:

  • select foo.x from (select generate_series(1,10) as x) foo order by md5(foo.x);

Ist alles offensichtlich nicht wirklich sinnvoll, aber solange der Fragesteller nicht sagt, was er wie sortiert
haben will, fallen mir leider nur solche Beispiele ein…

Hallo ads

nette Geste für jemand, den man gut kennt. Die Fragestellung von PeeDee war eindeutig. Das man Datenbank-Tabellen mittels eines Zufallsgenerators sortiert, wirst Du weder in einem Lehrbuch noch irgendwo in der angewandten Praxis finden.



Genau, darum geht es. Hier hat jemand vergessen, dass er auch mal Anfänger war und ihm nur sinnvolle Anworten weitergeholfen haben.



mfg
fristo

@akretschmer

das dicke Eigenlob ist ja nicht zu übersehen. Das ads es als “sinnige Sortierung” für die Sortierung einer Tabelle bezweifelt, muss Du wohl übersehen haben.



Nettes Beispiel, eine Tabelle mittels der Funktion eines Zufallsgenerators zu sortieren!


Gute Einsicht.



Wollte PeeDee auch nicht, die Frage von ihm war eindeutig allgemein gehalten. Schade nur, dass er jetzt als Sündenbock für Deine Antwort herhalten soll.



Da Du große praktische Erfahrung mit PostgreSQL hast, ist dieses sehr bedauernswert.




mfg
fristo

Mach mal bitte langsam. Mag sein, daß die Frage allgemein gehalten war.

Genauso allgemein war meine Antwort. Ja, man kann auch anders sortieren.
Und ich nannte Beispiele. Eine Sortierung nach Zufall kann sogar nützlich sein, wenn ich
eben zufällig Ergebnisse auswählen möchte. Und ja, wenn der Fragesteller sein Problem
etwas näher spezifizieren würde, könnte man auch zielgerichteter Antworten. Vielleicht hat er ja
ein ganz konkretes Problem und nur vergessen, es zu nennen.

MÖÖÖÖÖP:

“Geben Sie aus der Tabelle X 10 zufälle Zeilen aus!” Sollte so in dieser Form in keinem SQL
Lehrbuch fehlen, um auf die Verwendung der Zufallsfuktion in Verbindung mit ORDER und LIMIT
zu verweisen.

Naja, bei der Frage ging es mir eher darum, ob es eine Möglichkeit gibt, daß man eine Sortierreihenfolge nach Inhalten vorgeben kann z.B.
wenn Inhalt=bla -> ganz nach oben,
danach Inhalt=blabla
und zu guter letzt Inhalt=blablabla

Also man praktisch eine eigene Sortierreihenfolge festlegen kann und nicht nach Zahlwerten oder Anfangsbuchstaben in alphabetischer Reihenfolge, was ja eigentlich so nur Möglich ist oder?

Das geht so ‘out of the box’ in Deinem Beispiel :wink:

Aber hey, ich versteh schon.

test=*> select * from foo order by 1;
t

bla
blabla
blablabla
(3 rows)

test=*> select *, case when t = ‘blabla’ then 1 else 0 end as o from foo order by 2 desc;
t | o
-----------±–
blabla | 1
bla | 0
blablabla | 0
(3 rows)



Andreas