चयन टॉप 500, तो टॉप 100 श्रृंखलाबद्ध परिणाम सेट करने के लिए।
आम तौर पर, ऐसा करने के लायक होने के लिए, आपको कुछ मानदंडों की आवश्यकता होती है जिनके लिए 500 रिकॉर्ड की आवश्यकता होती है, और केवल 100 अन्य शर्त के लिए। मुझे लगता है कि शीर्ष 100 के लिए ये शर्तें condition1 हैं, और शीर्ष 100 के लिए condition2 हैं। क्योंकि स्थिति अलग होती है, कि कारण है कि रिकॉर्ड टॉप 100.
select TOP 500 *
from MyTable
where -- condition1 -- Retrieving the first 500 rows meeting condition1
union
select TOP 100 *
from MyTable
where -- condition2 -- Retrieving the first 100 rows meeting condition2
-- The complete result set of the two queries will be combined (UNIONed) into only one result set.
संपादित करें # 1
इस मैं क्या मतलब नहीं है के आधार पर ही नहीं हो सकता है। मैं शीर्ष 500 पंक्तियों के बाद आने वाली शीर्ष 100 पंक्तियों का चयन करना चाहता हूं। तो पंक्तियों का चयन 501-600
आपकी टिप्पणी के बाद, मैं बेहतर समझ गया कि आप क्या हासिल करना चाहते हैं। इसे आज़माएं:
WITH Results AS (
select TOP 600 f.*, ROW_NUMBER() OVER (ORDER BY f.[type]) as RowNumber
from MyTable f
) select *
from Results
where RowNumber between 501 and 600
क्या इससे मदद मिलती है?
स्रोत
2010-11-29 20:53:11
एमएस एसक्यूएल सर्वर का कौन सा संस्करण? – hunter
संस्करण एमएस एसक्यूएल 2008 – MonsterMMORPG
क्या आपका मतलब है कि आप 500-600 पंक्तियों का चयन करना चाहते हैं? या आप चाहते हैं कि परिणाम 500 शीर्ष पंक्तियों को वापस लौटाए, तो शीर्ष 100 पंक्तियां इस पर सम्मिलित होंगी? –