मेरे पास तीन टेबल हैं और इसके परिणाम लौटने के लिए शामिल हो गए हैं [ID] : [number]
प्रति पंक्ति, यह सब ठीक काम करता है लेकिन समस्या यह है कि कुछ पंक्तियां समान होंगी [ID]
इसलिए नमूना डेटा वापस किया जा सकता है:
1 : 564
2 : 34
3 : 76
2 : 985
2 : 47
1 : 4
और इतने पर ... लेकिन जो मैं वापस करना चाहता हूं वह है:
1 : 284
2 : 355
3 : 76
जैसा कि आप पंक्तियों को उसी के साथ देख सकते हैं [ID]
औसत किया गया है। मेरा सवाल यह है कि; एसक्यूएल में ऐसा करने का कोई तरीका है? मैं यह कैसे करूंगा? आपके समय के लिए धन्यवाद।
सवाल
SELECT T1.id, T2.number
FROM T1
LEFT JOIN T3 ON T3.T1_id = T1.id
LEFT JOIN T2 ON T3.T2_id = T2.id
उत्तर:
उत्तर № 1 के लिए 6SELECT ID, AVG(number) FROM table GROUP BY ID
उत्तर № 2 के लिए 1
@Cularis पोस्ट और आपके द्वारा जोड़ी गई क्वेरी का उपयोग करके, आप इसका उपयोग करेंगे
SELECT T1.id, Avg(T2.number)
FROM T1
LEFT JOIN T3 ON T3.T1_id = T1.id
LEFT JOIN T2 ON T3.T2_id = T2.id
GROUP BY T1.id
जवाब के लिए 0 № 3
अनुमान लगाना, क्योंकि आपने अपनी क्वेरी पोस्ट नहीं की है:
select ID, avg(number)
from <your query>
group by ID;