एसएसआरएस में अभिव्यक्तियां

मैं एसएसआरएस में काम करने के लिए एक निश्चित अभिव्यक्ति प्राप्त करने की कोशिश कर रहा हूं। मेरी क्वेरी एक श्रेणी, उप श्रेणी और घटनाओं को ट्रैक करने के लिए उप श्रेणी द्वारा समूहित गिनती बयान खींचती है। यह मेरी क्वेरी है:

SELECT Category, Sub_Category, CAST(Count(incident) AS decimal) As Total_Incidences
FROM service_req
GROUP BY Sub_Category

मैं इन्हें प्रतिशत में तोड़ने की कोशिश कर रहा हूं, उदाहरण के लिए एक विशिष्ट उप श्रेणी एक निश्चित मुख्य श्रेणी की घटनाओं के 67% के लिए जिम्मेदार है, और कुल कॉल बनाम मुख्य श्रेणियों का प्रतिशत भी पसंद करना चाहती है, यानी सभी घटनाओं का 12% यह निश्चित श्रेणी है।

मेरा गणित इसे काम करने की कोशिश करते समय सही नहीं आ रहा है, और मैं ऐसा करने का सबसे अच्छा तरीका नहीं समझ सकता। कोई सुझाव? मुझे पता है कि मुझे उस प्रतिशत को प्राप्त करने के लिए उपश्रेणी में सभी घटनाओं के योग द्वारा गिनती बयान को विभाजित करना है, और कुल उपक्रमों के लिए सभी उप श्रेणियों द्वारा पहली प्रतिशत प्राप्त करने के लिए मुझे लगता है कि मुझे इस बात का यकीन नहीं है कि इनके साथ समूह का उपयोग कैसे किया जाए अभिव्यक्ति (या यहां तक ​​कि अगर मैं कर सकता हूं) इसे काम करने के लिए। किसी भी सहायता की सराहना की जाएगी!

1
क्या आप कुछ नमूना डेटा और वांछित परिणाम सेट दिखा सकते हैं, आपको अपनी वर्तमान क्वेरी में अपने ग्रुप बाय क्लॉज में श्रेणी जोड़ने की आवश्यकता होगी।
जोड़ा लेखक M.Ali, स्रोत

1 उत्तर

एसएसआरएस में समस्या हल नहीं की जा सकती है बल्कि डेटा में लौटने वाली क्वेरी में हल की जा सकती है। आपको 2 अलग-अलग समूहों की आवश्यकता है - एक श्रेणी के अनुसार, दूसरा श्रेणी/उपश्रेणी संयोजन द्वारा। फिर आप उन्हें इस तरह शामिल कर सकते हैं:

SELECT Sub.Category, Sub.Sub_Category, Sub.Total_IncidencesSub*100/Main.Total_IncidencesMain AS Percentage FROM

(SELECT Category, CAST(Count(incident) as DECIMAL) As Total_IncidencesMain
FROM service_req
GROUP BY Category) Main

INNER JOIN

(SELECT Category, Sub_Category, CAST(Count(incident) AS DECIMAL) As Total_IncidencesSub
FROM service_req
GROUP BY Category, Sub_Category) Sub

ON Main.Category = Sub.Category

Here is live demo: http://sqlfiddle.com/#!3/eee07/7

0
जोड़ा