Heim > Datenbank > MySQL-Tutorial > Wie repliziere ich die LIMIT-Klausel von MySQL in SQL Server?

Wie repliziere ich die LIMIT-Klausel von MySQL in SQL Server?

DDD
Freigeben: 2024-12-08 02:29:11
Original
824 Leute haben es durchsucht

How to Replicate MySQL's LIMIT Clause in SQL Server?

SQL Server-Äquivalent zur LIMIT-Klausel von MySQL

Die LIMIT-Klausel von MySQL, die die Anzahl der von einer Abfrage zurückgegebenen Zeilen einschränkt, hat kein direktes Äquivalent im SQL Server. Das kann frustrierend sein, aber es gibt mehrere Problemumgehungen.

OFFSET/FETCH-Syntax (SQL Server 2012 und höher)

In SQL Server 2012 und höher ist die ANSI Für die Paginierung kann die Standard-OFFSET/FETCH-Syntax verwendet werden. Die folgende Abfrage veranschaulicht diese Syntax:

SELECT ID, Name, Price, Image 
FROM Products 
ORDER BY ID ASC 
OFFSET (@start_from - 1) ROWS
FETCH NEXT @items_on_page ROWS ONLY;
Nach dem Login kopieren

ROW_NUMBER()-Methode (vor SQL Server 2012)

Vor SQL Server 2012 die ROW_NUMBER()-Methode kann verwendet werden, um die LIMIT-Klausel zu simulieren:

WITH o AS
(
    SELECT TOP ((@start_from - 1) + @items_on_page)
      RowNum = ROW_NUMBER() OVER (ORDER BY ID ASC)
      /* , other columns */
    FROM Products
)
SELECT 
    RowNum
    /* , other columns */
FROM
    o
WHERE
    RowNum >= @start_from
ORDER BY
    RowNum;
Nach dem Login kopieren

Sonstige Problemumgehungen

Zusätzlich zu den oben beschriebenen Methoden stehen verschiedene andere Problemumgehungen zur Verfügung, einschließlich der Verwendung von Cursorn oder temporären Tabellen. Allerdings sind diese Lösungen im Allgemeinen weniger effizient und komplexer.

Es ist wichtig zu beachten, dass Microsoft die Einschränkungen der aktuellen Paginierungsmechanismen erkannt und Interesse bekundet hat, in zukünftigen Versionen native LIMIT-Unterstützung zu SQL Server hinzuzufügen.

Das obige ist der detaillierte Inhalt vonWie repliziere ich die LIMIT-Klausel von MySQL in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage