का एएनएसआई एसक्यूएल संस्करण एसक्यूएल सर्वर के SELECT TOP n
का कोई एएनएसआई एसक्यूएल अनुपालन संस्करण है?SELECT TOP 1
11
A
उत्तर
15
एएनएसआई/आईएसओ एसक्यूएल: 2003 की शुरुआत की विंडोइंग कार्यों:
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 सर्वर 2005. http://msdn.microsoft.com/en-us/library/ms189798(v=sql.90).aspx
एएनएसआई/आईएसओ एसक्यूएल एसक्यूएल सर्वर के बाद से इस वाक्य रचना का समर्थन किया है: 2008 की शुरुआत में एक सरल FETCH FIRST
के लिए वाक्यविन्यास, जो माइक्रोसॉफ्ट/साइबेस TOP
सिंटैक्स के समान हो सकता है:
SELECT person_id, person_name, age FROM person
FETCH FIRST 3 ROWS ONLY
माइक्रोसॉफ्ट अभी तक इस वाक्यविन्यास का समर्थन नहीं करता है। यह भी देखें http://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows
आप अभी भी Microsoft SQL Server 2000 का उपयोग कर रहे हैं, तो आप एक सवाल मैं थोड़ी देर के पोस्ट वापस "पेजिंग" शैली प्रश्नों करने के बारे में पढ़ना चाहिए: Emulate MySQL LIMIT clause in Microsoft SQL Server 2000
मुझे तो पता ही नहीं था कि ROW_NUMBER() एएनएसआई एसक्यूएल था? – Andrew