यह एक बहुत ही बुनियादी समस्या है और किसी भी कारण से मुझे उचित समाधान नहीं मिल रहा है। मैं समझाने के लिए अपनी पूरी कोशिश करूंगा।पोस्टग्रेस्क्ल में विशिष्ट और फिर एक समग्र फ़ंक्शन का उपयोग करना?
कहें कि आपके पास एक ईवेंट टिकट (अनुभाग, पंक्ति, सीट #) है। प्रत्येक टिकट एक उपस्थिति से संबंधित है। एकाधिक टिकट एक ही उपस्थिति से संबंधित हो सकते हैं। प्रत्येक उपस्थिति के पास एक लायक होता है (उदा: उपस्थिति # 1 $ 10,000 के लायक है)। जैसा कि कहा गया है, यहाँ मैं क्या करना चाहते हैं:
1. Group the tickets by their section
2. Get number of tickets (count)
3. Get total worth of the attendees in that section
यहाँ मैं कहाँ समस्या आ रही है: यदि प्रतिभागी # 1 $ 10,000 के लायक है और 4 टिकट, योग (attendees.worth) $ 40,000 लौटा रहा है उपयोग कर रहा है। जो सटीक नहीं है। मूल्य $ 10,000 होना चाहिए। फिर भी जब मैं उपस्थिति पर परिणाम अलग करता हूं, तो गणना सटीक नहीं होती है। एक आदर्श दुनिया में
select
tickets.section,
count(tickets.*) as count,
sum(DISTINCT ON (attendees.id) attendees.worth) as total_worth
from
tickets
INNER JOIN
attendees ON attendees.id = tickets.attendee_id
GROUP BY tickets.section
स्पष्ट रूप से यह क्वेरी काम नहीं करती है। मैं एक ही प्रश्न में एक ही चीज़ को कैसे पूरा कर सकता हूं? या यह भी संभव है? मैं उप प्रश्नों से भी दूर रहना पसंद करूंगा क्योंकि यह एक बहुत बड़े समाधान का हिस्सा है जहां मुझे इसे कई तालिकाओं में करने की आवश्यकता होगी।
इसके अलावा, मूल्य को समान रूप से विभाजित टिकट का पालन करना चाहिए। पूर्व: $ 10,000/4. प्रत्येक टिकट में $ 5,000 की उपस्थिति होती है। इसलिए यदि टिकट अलग-अलग वर्गों में हैं, तो वे उनके साथ अपना मूल्यवान मूल्य लेते हैं।
आपकी मदद के लिए धन्यवाद।
मुझे पता है कि यह थोड़ी देर हो गया है, लेकिन मेरे पास एक ही समय है समस्या का प्रकार और मैं सोच रहा हूं कि क्या आप इसे हल करने में सक्षम थे। – denaje