Gibt es eine ANSI SQL-kompatible Version von SQL SERVER SELECT TOP n
?ANSI-SQL-Version von SELECT TOP 1
11
A
Antwort
15
ANSI/ISO SQL: 2003 eingeführt Windowing-Funktionen:
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY age ASC) AS rownum,
person_id,
person_name,
age
FROM person
) AS foo
WHERE rownum <= 3
Microsoft SQL Server diese Syntax, da SQL Server 2005. http://msdn.microsoft.com/en-us/library/ms189798(v=sql.90).aspx
ANSI/ISO SQL unterstützt hat: 2008 eingeführt, um eine einfachere Syntax für FETCH FIRST
, die mehr analog zu Microsoft/Sybase TOP
Syntax:
SELECT person_id, person_name, age FROM person
FETCH FIRST 3 ROWS ONLY
sein kann
Microsoft unterstützt diese Syntax noch nicht. Siehe auch http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows
Wenn Sie immer noch mit Microsoft SQL Server 2000, sollten Sie eine Frage las ich eine Weile geschrieben zurück zu „Paging“ Stil-Abfragen zu tun: Emulate MySQL LIMIT clause in Microsoft SQL Server 2000
ich nicht einmal wusste, dass ROW_NUMBER() OVER war ANSI SQL? – Andrew