2013-01-23 4 views
6

Ich bin vertraut mit MySQL, aber nicht in MS SQL,Wie zu begrenzen und in MS SQL bestellen?

In MySQL die Abfrage wie folgt sein:

SELECT * from tablename ORDER BY RAND() LIMIT 5 

Die obige Abfrage eine 5 zufällige Anzahl von Ergebnis aus der Tabelle gibt. Die gleiche Frage, wie kann ich mit MS SQL machen?

+0

Sag mir, wenn ich falsch bin. Ich denke, der 'Order by' -Klausel wird verwendet, um den Ergebnisdatensatz zu sortieren. – reporter

Antwort

10

Versuchen,

SELECT TOP 5 * from tablename ORDER BY NEWID() 
+1

Erstaunlich danke. – agurchand

+0

du bist willkommen ': D' –

3

Werfen Sie einen Blick auf mit TOP und Ordnung von NEWID

So etwas wie

SELECT TOP 5 * 
FROM TableName 
ORDER BY NEWID() 
1

Dies wäre:

SELECT TOP 5 * FROM tablename 
ORDER BY NEWID() 

Getestet in MSSQL 2005