मैं MySQL में किसी कॉलम का माध्य मान कैसे पा सकता हूँ?


10

मैं केवल दो डेटाबेस प्रश्नों के साथ ऐसा करने की कल्पना कर सकता हूं। पहला डेटाबेस में पंक्तियों की संख्या पाता है, और दूसरा ORDER BYउस कॉलम पर है जिसका मैं दिलचस्पी लेता हूं और LIMIT X, 1जहां एक्स पंक्तियों की संख्या का आधा है।

क्या केवल एक क्वेरी के साथ ऐसा करने का एक सरल तरीका है?

अभी मैं अपनी गणना में औसत का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि इसका मतलब बेहतर होगा; मूल्यों के लिए कोई ऊपरी सीमा नहीं है और वे नीचे से 0 से बंधे हैं।


संपादित करें: हाँ, मेरा कहने का अर्थ है 'मंझला' लेकिन मस्तिष्क की कुछ त्रुटि थी और 'माध्य' की खोज की। मैं अब stackoverflow पर जवाब मिल गया है


metaथोड़ा पढ़ने के बाद ऐसा लगता है कि मौसम का एक विभाजन है क्योंकि यह प्रश्न यहां या एसओ पर होना चाहिए। मुझे लगता है कि यह एक निंजा स्तर की क्वेरी नहीं हो सकती है , लेकिन यह मुझे स्टम्प्ड हो गई है और जिस कंपनी में मैं काम कर रहा हूं (कुल 6 लोग) में डीबीए नहीं है।
JIStone

जवाबों:


6

MySQL टेबल से माध्य मानों की गणना करने पर यहाँ काफी चर्चा होती है । बस 'माध्यिका' के लिए पृष्ठ खोजें।

एक तरफ के रूप में, यह मुझे रिमिस के रूप में प्रभावित करता है कि ऐसा करने के लिए कोई अंतर्निहित फ़ंक्शन नहीं है। माध्य प्रायः मध्य प्रवृत्ति से अधिक वर्णनात्मक होता है। एक्सेस / वीबीए की फ़ंक्शन सूची में समान छेद है।


मैं सहमत हूँ। जब एक बड़ी क्वेरी में काम किया जाता है तो अतिरिक्त लाइनें पूरी चीज़ को अधिक बोझिल और कठिन बना देती हैं।
JIStone

2

मैंने कहीं भी एक समाधान नहीं देखा है जो एक प्रश्न में माध्यिका प्राप्त करने का प्रबंधन करता है। मुझे टेम्‍प टेबल से ऐतराज नहीं है, लेकिन यदि वे आवश्‍यक न हों, तो बहुत अच्‍छा! यहाँ मैं क्या लेकर आया हूँ:

SELECT AVG(profit) median, nofitems FROM(
  SELECT x.profit, SUM(SIGN(1.0-SIGN(y.profit-x.profit))) diff, count(*) nofitems, floor(count(*)+1/2)
  FROM brand_prof x, brand_prof y
  GROUP BY x.profit
  HAVING SUM(SIGN(1.0-SIGN(y.profit-x.profit))) = floor((COUNT(*)+1)/2)
      OR SUM(SIGN(1.0-SIGN(y.profit-x.profit))) = ceiling((COUNT(*)+1)/2)
) x;

मैंने इसे एक और सेट के लिए परीक्षण किया, और सही उत्तर मिला। brand_prof सिर्फ दो कॉलम है: brand_name, और लाभ, एक दशमलव मान। यदि यह पूर्णांक मान थे, तो आपको "सीलिंग ((CAST COUNT (*) AS DECIMAL) ..." का परीक्षण करना होगा। मैंने कार्टेशियन उत्पाद का उपयोग करने और संकेतों के योग से संबंधित शांत विचार प्रस्तुत किया था। मेरा नहीं। मैं दुर्भाग्य से लेखक को भूल गया हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.