मैंने यहां एक प्रश्न पूछा है: /programming/43807566/how-to-divide-two-values-from-the-same-column-but-at-different-row
मानों को एक ही तालिका से, एक ही स्तंभ पर लेकिन अलग-अलग पंक्तियों में विभाजित करने के बारे में। अब मेरे पास समस्या है जहां मेरे पास अधिक संख्या और भाजक हैं (विभिन्न के साथ uns
)। अभी भी self join
पोस्टग्रेज के साथ इस समस्या को हल करने का एक अच्छा तरीका है या बेहतर समाधान हैं?
उदाहरण:
| postcode | value | uns |
|----------|-------|-----|
| AA | 40 | 53 |
| BB | 20 | 53 |
| AA | 10 | 54 |
| AA | 20 | 55 |
| AA | 10 | 56 |
| AA | 30 | 57 |
| AA | 50 | 58 |
| BB | 10 | 54 |
| BB | 10 | 55 |
| BB | 70 | 56 |
| BB | 80 | 57 |
| BB | 10 | 58 |
परिणाम होना चाहिए:
| postcode | formula |
|----------|------------|
| AA | 18.888... |
| BB | 14.375 |
जहाँ मान को पिनकोड द्वारा वर्गीकृत किया जाता है और सूत्र है (बिना मान वाला):
(V53 * V56 + V54 * V57 + V55 * V58) / (V56 + V57 + V58)
शून्य से अंतिम विभाजन से बचने के लिए ध्यान देना। फॉर्मूला और भी जटिल हो सकता है लेकिन यह एक अच्छा उदाहरण है।
uns
कॉलम नाम बन जाएं - वहां से, जो भी सूत्र मानों का उपयोग करता है वह व्यावहारिक होना चाहिए। क्या फॉर्मूला हार्ड-कोडेड होगा, या डायनामिक रूप से किसी तरह प्राप्त होगा?