Replikation von MySQLs LIMIT in Microsoft SQL Server 2000
MySQLs LIMIT
-Klausel vereinfacht das Abrufen bestimmter Zeilenteilmengen. In SQL Server 2000 fehlt diese Funktion direkt, sodass Problemumgehungen erforderlich sind. In diesem Artikel werden verschiedene Methoden untersucht, um ähnliche Ergebnisse zu erzielen.
Eine Methode verwendet verschachtelte SELECT
-Anweisungen. Um LIMIT 10, 20
(Offset 10, Abruf 20) nachzuahmen, könnten Sie Folgendes verwenden:
<code class="language-sql">SELECT TOP 20 * FROM ( SELECT TOP 30 * FROM mytable ORDER BY somecolumn ) z2 ORDER BY somecolumn DESC;</code>
Dadurch werden die obersten 30 Zeilen und dann aus dieser Teilmenge die obersten 20 ausgewählt.
Wenn eine eindeutige Spalte (z. B. „Schlüssel“) vorhanden ist, können Sie alternativ Folgendes verwenden:
<code class="language-sql">SELECT TOP 20 * FROM tablename WHERE key NOT IN ( SELECT TOP 10 key FROM tablename ORDER BY key );</code>
Dies schließt die ersten 10 Zeilen basierend auf dem eindeutigen Schlüssel aus und gibt effektiv die nächsten 20 zurück.
Einschränkungen: Der Ansatz mit verschachtelten Abfragen könnte für die letzte „Seite“ problematisch sein, wenn die Gesamtzeilenanzahl kein Vielfaches der Seitengröße ist. Die Unique-Column-Methode erfordert eine geeignete Unique-Säule. Eine rein SQL-basierte, universell einsetzbare Lösung zur Replikation von LIMIT
in SQL Server 2000 ist nicht realisierbar. Diese Techniken bieten jedoch praktische Alternativen.
Das obige ist der detaillierte Inhalt vonWie kann ich die LIMIT-Klausel von MySQL in Microsoft SQL Server 2000 simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!