Zufälliger Datensatz

Hallo!

Vorab: Ich bin absoluter PHP- und MySQL-Neuling.
Nun möchte ich mit

SELECT * FROM tabelle ORDER BY RAND() LIMIT 1

einen zufälligen Datensatz auswählen. Das klappt nur bedingt, denn bei ca. 5 von 6 Aufrufen wird der Datensatz mit der id 1 angezeigt.

Das ist mir unerklärlich. Kann mir da mal jemand einen Tipp geben?

Schönen Dank schonmal!

Christian

Hi MaBoRo,

Ist vielleicht ne dumme Frage, aber kann es sein, dass Du mit rand() einen Wert ‚von bis‘ vorgeben musst? Also in dem Fall die Anzahl der Datensaetze?

cu,
cjmatsel

Hi Christian!

SELECT * FROM tabelle ORDER BY RAND() LIMIT 1

Ich habe ja keine Ahnung von MySQL, aber Dein Statement sieht so aus, als würde es nur nach einer zufälligen Spalte sortieren, was je nach Anordnung der Daten in den Spalten und Zeilen der Tabelle genauso gut dazu führen könnte, daß Du IMMER den 27. Satz in der Tabelle bekommst (wenn nämlich die Sortierung nach egal welcher Spalte den 27. Satz als erstes bringen würde).

Oder täusche ich mich da?

Gruß,
TheBeast

einen zufälligen Datensatz auswählen. Das klappt nur bedingt,
denn bei ca. 5 von 6 Aufrufen wird der Datensatz mit der id 1

Es kommt darauf an, wie viele Datensätze du in der MySql Tabelle gespeichert hast. Sind es nur zwei oder wenige mehr, kann es gut sein, dass sehr oft der Datensatz mit der id 1 angezeigt wird. (Vergleiche mit einen Münzwurf: Kopf/Zahl)

dome