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

MySQL 5.7 में चर का उपयोग करके प्रकार की कार्यक्षमता द्वारा विभाजन कैसे प्राप्त करें

और फिर से यूडीवी का प्रयोग करें।

SELECT dateOfCheckup,
       duration,
       minutes,
       CASE WHEN @prev_month != monthOfCheckup
            THEN total >= 20
            WHEN @prev_total < 20 
            THEN 1
            ELSE 0 
            END 99457Elig,
       CASE WHEN @prev_month != monthOfCheckup
            THEN total >= 40
            WHEN @prev_total < 40
            THEN 1
            ELSE 0 
            END 99458Elig,
       @prev_month := monthOfCheckup monthOfCheckup,
       @prev_total := total total
FROM (select dateOfCheckup,
             duration,
             @cur_dur := ((case when duration like '% hour%' then substring_index(duration, ' hour', 1) * 60 else 0 end) +
                         (case when duration like '%min%' then substring_index(substring_index(duration, ' min', 1), ' ', -1) + 0 else 0 end)) as minutes,

             CASE WHEN @year_month = date_format(dateOfCheckup, '%Y-%m')
                  THEN @cum_sum := @cum_sum + @cur_dur
                  ELSE @cum_sum := @cur_dur
                  END total,
             @year_month := date_format(dateOfCheckup, '%Y-%m') monthOfCheckup

      from patient, (SELECT @year_month:='', @cum_sum:=0, @cur_dur:=0) variables
      ORDER BY dateOfCheckup) subquery, 
(SELECT @prev_month:=0, @prev_total:=0) variable
ORDER BY dateOfCheckup

fiddle

मैं 1 का उपयोग करता हूं और 0 Y . के बजाय और NULL

बेशक, आउटपुट सूची और क्रम में कॉलम क्रम फिर से महत्वपूर्ण हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. त्रुटि:अपस्ट्रीम [uWSGI/Django/NGINX] से प्रतिक्रिया शीर्षलेख पढ़ते समय समय से पहले बंद कनेक्शन

  2. SQL क्वेरी MySQL में डेटाबेस को हटाने के लिए

  3. ज़ेंड फ्रेमवर्क 3 टेबल में शामिल हों

  4. अज्ञात कुंजियों के साथ JSON को MySQL JSON_TABLE के साथ पंक्तियों में विस्तारित करें

  5. त्रुटि #1241 - ऑपरेंड में मैसकल में 1 कॉलम होना चाहिए