Philipp Hasenfratz: Zufällige Abfrage!

Beitrag lesen

Halihallo Lude

mit MS SQL Server 2000 geht's aber nicht. - Oder weisst Du auch da einen Trick?

Ich kenne mich mit MSSQL nicht aus, jedoch folgender Ansatz:

SELECT TOP 1 FROM (
   SELECT *
      FROM <tabellen_name>
      ORDER BY RAND()*9999999;
)

Aber AFAIK wird RAND() für jeden Query nur einmal berechnet, du wirst also immer den
ersten Datensatz bekommen (obwohl dieser bei vielen Lösch- und Einfügeoperationen auch
schon zufälligen Charakter hat). Leider bin ich mir dessen nicht sicher, also schlage
ich vor, du versuchst es einmal oder liest die Doku zu RAND.

Oder du musst auch auf die Programmiersprache ausweichen und dort ein Kriterium (Primary
Key) zur zufälligen selektierung von Records finden (eg. alle Primaries in eine Liste
einlesen und dann wahlweise einen benutzen; oder den Resultset-Cursor auf einen
zufälligen Record weisen lassen; falls dein System/Library die Verwendung von Cursors
unterstützt).

Viele Grüsse

Philipp