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

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

Susan Sarandon
Susan SarandonOriginal
2024-12-08 08:01:17296Durchsuche

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

Entspricht der MySQL LIMIT-Klausel für SQL Server

Viele Entwickler haben nach Alternativen zur LIMIT-Klausel für SQL Server gesucht, da diese nach wie vor bemerkenswert ist Abwesenheit auf der Plattform. Um dieses Problem zu beheben, schauen wir uns die verfügbaren Problemumgehungen genauer an.

Ab SQL Server 2012 bietet die OFFSET/FETCH-Syntax, Teil des ANSI-Standards, eine Lösung:

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

Prior Für SQL Server 2012 kann die Methode ROW_NUMBER() verwendet werden, wie hier beschrieben Artikel.

Wenn jedoch SQL Server 2012 nicht verfügbar ist, kann eine Problemumgehung mit einem allgemeinen Tabellenausdruck (CTE) verwendet werden:

;WITH o AS
(
    SELECT TOP ((@start_from - 1) + @items_on_page)
         -- Again, this calculation depends on the method used for @start_from
      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;

Dies ist eine von mehreren Methoden, die möglich sind angewendet, um das gewünschte Ergebnis zu erzielen. Es ist wichtig, die verfügbare Dokumentation zu prüfen und die Effizienz des gewählten Ansatzes zu prüfen.

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

Stellungnahme:
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