मैं कुछ करने की कोशिश कर रहा हूँ:
SELECT * FROM table LIMIT 10,20
या
SELECT * FROM table LIMIT 10 OFFSET 10
लेकिन SQL सर्वर का उपयोग कर
एकमात्र समाधान जो मुझे मिला वह ओवरकिल जैसा दिखता है:
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases
) a WHERE row > 5 and row <= 10
मैंने भी पाया :
SELECT TOP 10 * FROM stuff;
... लेकिन यह वह नहीं है जो मैं करना चाहता हूं क्योंकि मैं शुरुआती सीमा निर्दिष्ट नहीं कर सकता।
क्या मेरे लिए ऐसा करने का कोई और तरीका है?
इसके अलावा, बस उत्सुक, वहाँ एक कारण है कि SQL सर्वर LIMIT
फ़ंक्शन या कुछ इसी तरह का समर्थन नहीं करता है ? मैं मतलबी नहीं होना चाहता, लेकिन यह वास्तव में एक DBMS की जरूरत है कुछ की तरह लगता है ... अगर यह करता है, तो मुझे इतना अज्ञानी होने के लिए खेद है! मैं पिछले 5 वर्षों से MySQL और SQL + के साथ काम कर रहा हूँ ...
ROW_NUMBER()
और सीमित करनाTOP
और सीमाWHERE
के एक सीमा के लिए एक शर्त सबसे अच्छा है जिसे मैं प्राप्त करने में सक्षम हूं। मैं भी बेहतर प्रदर्शन देखा है अगरTOP
खंड के बजाय एक शाब्दिक का उपयोग करता है चर का