sql server - How to get a dynamic top number of rows? -
मैं तालिका के शीर्ष #nr_of_rows - (int) (# nr_of_rows / 10 - 1) प्राप्त करना चाहता हूं। तो अगर आपके पास 63 पंक्तियाँ हैं, तो यह 3 पंक्तियां लौटाएगा, 90 पंक्तियां 10, 85 लौटेगी 5, आदि लौटेंगे। बेशक यह दो प्रश्नों में किया जा सकता है, बस सोच रहा है कि यह एक क्वेरी में किया जा सकता है। / P>
यदि आप एक सीधी SQL क्वेरी के बारे में जानते हैं, तो यह बहुत अच्छा होगा परन्तु आदर्श रूप से मैं एक SQL वर्ग को एसक्यूएल करना चाहता हूं।
टॉप 10 प्रतिशत * तालिका से या
DECLARE @pct जैसा INT का चयन करें @ pct = (COUNT (*) / 10) -1 से तालिका टॉप टॉप (@ पीटीटी) * तालिका से या
DECLARE @pct जैसा INT चुनें तालिका = से (% (*) / 10) -1 तालिका SET ROWCOUNT @ पिक्चर का चयन करें * तालिका से मैं लिनक् करने के लिए SQL पर बहुत कमज़ोर हूँ लेकिन मुझे नहीं लगता कि आप 2 lookups से बच नहीं सकते हैं, क्योंकि अब भी आपको गिनती (*) प्राप्त करने के लिए subquery की आवश्यकता होने जा रहा है, उत्पन्न एसक्यूएल अभी भी subquery है जो इस समान पद को मान्य लगता है
Comments
Post a Comment