2009-07-14 11 views

उत्तर

13

SQLite एनालिटिकल प्रोसेसिंग में मजबूत नहीं है, लेकिन यदि आपका डेटा बहुत बड़ी नहीं है, आप ORDER BY, LIMIT 1 और एक साथ प्रतिशतक का अनुकरण करने की कोशिश कर सकते हैं गणना OFFSET। ध्यान दें कि OFFSET शून्य-आधारित है इसलिए आपको इसे एक से समायोजित करने की आवश्यकता है।

SELECT 
    height AS 'male 90% height' 
FROM table 
WHERE gender='male' 
ORDER BY height ASC 
LIMIT 1 
OFFSET (SELECT 
     COUNT(*) 
     FROM table 
     WHERE gender='male') * 9/10 - 1; 
+0

"बड़े" डेटा से आपका क्या मतलब है? तालिका में डेटा की पंक्तियों के संदर्भ में यहां समाधान कितना अच्छा है? और क्या आप ऑफ़सेट भाग पर विस्तार कर सकते हैं कि आप इसकी गणना कैसे करते हैं? – David

+0

मुझे डेटा आकार सीमा के बारे में कोई जानकारी नहीं है। अगर यह आपके लिए काम करता है, अच्छा। ऑफ़सेट ऊंचाई से आदेशित डेटा के 90% पर पंक्ति का चयन करने के लिए है - 'male_count' को पुनर्प्राप्त करने के लिए अन्य क्वेरी है। – laalto

संबंधित मुद्दे