Hallo!

> hat jemand eine Idee wie ich einen Zufallsdatensatz zur�ckbekommen
> kann (MS SQL) in MySQL geht es mit:
> SELECT * FROM tabelle ORDER BY RAND() LIMIT 1
> 
> gibt es etwas �hnliches in MS SQL, finde in der Hilfe nichts.
> oder hat jemand eine andere Idee?

Der SQL Server kennt ebenfalls die Funktion RAND(), braucht aber einen
Integer-Parameter, um unterschiedliche Werte zu erzeugen.

SELECT TOP 1 * FROM tabelle ORDER BY RAND(id)

Allerdings wird Dir das immer wieder den gleichen Datensatz anzeigen, weil
RAND() immer wieder gleiche Zufallswerte f�r gleiche Parameter liefert. Als
Parameter solltest Du deshalb einen Zeitwert verwenden. Und damit der f�r
jeden Datensatz neu ermittelt wird, musst Du ihn noch mit einem Spaltenwert
kombinieren.

SELECT TOP 1 * FROM tabelle ORDER BY RAND(id * DATEPART(ms, GETDATE())).
(Achtung, �berlauf ist bei gro�en Werten f�r [id] m�glich)

Eine Datenbank darf halt keine zuf�lligen Ergebnisse liefern. ;-)

Freundliche Gr��e
Joachim van de Bruck

_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp

Antwort per Email an