it-swarm.com.de

Was ist das T-SQL-Äquivalent zur MySQL-Syntax LIMIT x, y?

Mögliches Duplizieren:
Wie schreibe ich ein (MySQL) "LIMIT" in SQL Server?

Wie kann ich meine Abfrage mit LIMIT Inside für einen SQL-Server ändern?

Code:

SELECT apretiz FROM tableApoint WHERE price = '$newprice' LIMIT 5;

Viele Dinge funktionieren nicht so einfach um Hilfe zu bitten

Und wie kann ich LIMIT 5,10 mit gutem Beispiel ändern? Kann ich TOP nicht dafür verwenden?

15
pretyBoy

Wie ich vor weniger als einer Stunde gesagt habe, muss man TOP verwenden! (LIMIT wird für MYSQL verwendet) 

Versuchen Sie also, LIMIT 5 zu entfernen und SELECT TOP(5) apretiz.

Versuchen Sie auch, die Bestellung nach (gleichen Grund wie zuvor) hinzuzufügen.

Bitte machen Sie eine Suche, bevor Sie Fragen stellen. Link zur alten Frage

16
ChapMic

Ab SQL Server 2012 können Sie schreiben

...
ORDER BY thisColumn, thatColumn
OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY
20
Steve Kass

Verwenden Sie das Schlüsselwort TOP:

 SELECT TOP 5 pretiz 
 FROM tableApoint WHERE price = '$newprice'

Die Verwendung von LIMIT 5, 10 ist nicht Teil des SQL-Standards und nur in MySQL verfügbar.

Sie könnten ROW_NUMBER() für SQL als temporäre Lösung verwenden und erhalten die gleiche gewünschte Ausgabe.

SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM tableApoint 
) a WHERE row >= 5 and row <= 10
3
Darren

SQL Server 2005 und höher

Wenn Sie SQL Server 2005 oder höher verwenden, können Sie die ROW_NUMBER-Funktion verwenden, um den Zeilen eindeutige Nummern zuzuweisen und dann den Wertebereich aus der Ausgabe auszuwählen.

Skript :

CREATE TABLE table1
(
    textvalue VARCHAR(10) NOT NULL
);

INSERT INTO table1 (textvalue) VALUES
   ('i'),
   ('a'),
   ('e'),
   ('h'),
   ('c'),
   ('l'),
   ('g'),
   ('m'),
   ('d'),
   ('k'),
   ('j'),
   ('f'),
   ('b'),
   ('n');

;WITH letters as
(
    SELECT  textvalue
        ,   ROW_NUMBER() OVER(ORDER BY textvalue) rownum 
    FROM    table1
)
SELECT  textvalue
FROM    letters
WHERE   rownum  BETWEEN 6 AND 10;

Ausgabe :

TEXTVALUE
---------
    f
    g
    h
    i
    j
2
user756519