it-swarm.com.de

Wie verwende ich das Schlüsselwort LIMIT in SQL Server 2005?

Ich habe in diesem Beitrag eine Möglichkeit gefunden, zufällige Zeilen aus einer Tabelle auszuwählen. Ein Vorschlag ist die Verwendung der folgenden Abfrage:

SELECT * FROM employee ORDER BY Rand() LIMIT 1

Wenn ich diese Abfrage in MS SQL 2005 ausführe, wird folgende Fehlermeldung angezeigt

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'LIMIT'.

Kann mir jemand sagen, wo ich falsch liege? Unterstützt MS SQL LIMIT nicht? Wenn ja, wie kann ich das machen?

25
user11445

Wenn Sie sich die SELECT-Anweisung in der SQL Server-Onlinedokumentation ansehen, werden Sie feststellen, dass Sie die Ergebnismenge mit dem Schlüsselwort TOP einschränken können.

SELECT TOP 1 * FROM employee
44
SELECT TOP 1 * FROM Employee ORDER BY newid()

Sie müssen newid () verwenden, um es einmal pro Zeile auszuwerten. 

5
Jonas Lincoln

Ich verwende diese relativ einfache (SQL2005), um die Anzahl der zurückgegebenen Zeilen zu begrenzen. Dies funktioniert auch mit einem Wert, der von einem Parameter einer gespeicherten Prozedur bereitgestellt wird.

DECLARE @Limit int
SET @Limit = 10
SELECT TOP (@Limit) Col1, Col2 FROM SomeTable
0
Stuntbeaver