phpbar.de logo

Mailinglisten-Archive

SELECT ... ORDER BY rand() ...

SELECT ... ORDER BY rand() ...

mysql-de_(at)_lists.bttr.org mysql-de_(at)_lists.bttr.org
Mon, 29 Oct 2001 12:21:34 +0100


Hallo Michael,
> Ich habe ein Tabelle mit mehreren tausend Einträgen. Davon möchte ich
> zufällig ein gewisse Anzahl sortiert mit PHP ausgeben. Leider
> sollen diese
> Einträge zufällig aus allen Datensätzen ausgewählt und alphanumerisch
> sortiert werden. Ich komme nun auf die folgenden beiden
die Sache mir "order by rand" erzeugt keine zufällige Auswahl, sondern eine
zufällige Sortierung.

Deine Tabelle sollte ein numerisches Feld haben, mit dem jeder Datensatz
eindeutig referenziert wird.
Die Abfrage könnte also lauten:
select name from TblNames where id <= rand() * 10000 order by name

So werden alle Datensätze selektiert, deren ID <= der generierten
Zufallszahl liegt. Diese Zufallszahl liegt im Bereich 0 und 10000.
In einer zweiten Stufe könnte man 2 Zufallszahlen genrieren und einen
Bereich selektieren, der nicht bei 0 anfängt.


Gruß Alexander

---
!!NEU!!
Fragen und Antworten zu MySQL und dieser Liste unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive