Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql में गणना (योग, अधिकतम, औसत) अल्पविराम से अलग कॉलम

मुझे नहीं पता कि आप किस एप्लिकेशन को डिज़ाइन कर रहे हैं, लेकिन मुझे लगता है कि टेबल विवरण बनाने के बजाय अल्पविराम से अलग मूल्यों को स्टोर करने के लिए यह खराब डिज़ाइन था। आप वास्तव में एक MySQL फ़ंक्शन का उपयोग किए बिना इसे हल कर सकते हैं। सबसे पहले, आपको convert comma separated columns into rows और फिर आप कुछ गणना कर सकते हैं। यह प्रश्न आपकी सहायता कर सकता है:

select id,max(val) as max,min(val) as min,sum(val) as sum,avg(val) as avg
from(
    select id,(substring_index(substring_index(t.poin, ',', n.n), ',', -1)) val
        from poin_dtl t cross join(
         select a.n + b.n * 10 + 1 n
         from 
            (select 0 as n union all select 1 union all select 2 union all select 3 
                union all select 4 union all select 5 union all select 6 
                union all select 7 union all select 8 union all select 9) a,
            (select 0 as n union all select 1 union all select 2 union all select 3 
                union all select 4 union all select 5 union all select 6 
                union all select 7 union all select 8 union all select 9) b
            order by n 
        ) n <-- To make this simple, Create a table with one column that has 100 rows.
    where n.n <= 1 + (length(t.poin) - length(replace(t.poin, ',', '')))
    order by val asc
) as c_rows -- c_rows = convert comma separated columns into rows
group by id

परिणाम इस प्रकार होने चाहिए:

id     max     min      sum      avg
--------------------------------------
1      1       9        23        4,6
2      8       2        19        4,75
3      9       1        33        5,5



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उपयोगकर्ता प्रतिक्रिया प्रणाली के लिए उचित डेटाबेस मॉडल (एक दिलचस्प मामला)

  2. उप चयन का उपयोग करके तालिका बदलें

  3. MySQL:प्रतिदिन अलग-अलग पंक्तियों की गणना करें

  4. SQL डेवलपर के साथ अनुक्रमणिका से बाहर स्ट्रिंग

  5. आउटफाइल स्वरूपण में MySQL