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

गिनती के साथ mysql उपयोगकर्ता चर असाइनमेंट (*)

जैसा कि @JagaSrik ने कहा, सही उत्तर देने के लिए आपके डेटा और तालिकाओं के बारे में अधिक जानकारी की आवश्यकता है। हालाँकि, यदि आपको इस तरह की तालिका बदलने की आवश्यकता है:

name                |     date      |  id
-----------------------------------------
total Inscription   |   2017-07-10  |   2
total Inscription   |   2020-04-20  |   2
total Inscription   |   2020-04-21  |   3
total Inscription   |   2020-06-17  |   4
total Inscription   |   2020-06-18  |   2

कुछ इस तरह के लिए:

     date      |  total
-----------------------------------------
   2017-07-10  |   2
   2020-04-20  |   4
   2020-04-21  |   7
   2020-06-17  |   11
   2020-06-18  |   13

आप CURSOR . का उपयोग कर सकते हैं ।

इस उदाहरण के लिए:

DELIMITER $$
CREATE PROCEDURE `countIds`()
BEGIN
    DECLARE finished INTEGER DEFAULT 0;
    DECLARE total INTEGER DEFAULT 0;
    DECLARE theCount INTEGER DEFAULT 0;
    DECLARE theDate varchar(100) DEFAULT "";    

        DEClARE curCount 
        CURSOR FOR 
            SELECT `id`,`date` FROM table1;

        DECLARE CONTINUE HANDLER 
    FOR NOT FOUND SET finished = 1;
        
    OPEN curCount;

    getCount: LOOP
        FETCH curCount INTO theCcount,theDate;
        IF finished = 1 THEN 
            LEAVE getCount;
        END IF;
        SET total = total + theCount;
        select theDate, total;
    END LOOP getCount;
    CLOSE curCount;       

END$$
DELIMITER ;

फिर भी कर्सर अपना काम करने का एक तरीका है और और भी प्रभावी तरीके हो सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं MySQL कंसोल में स्क्रीन को कैसे साफ़ कर सकता हूँ?

  2. क्या MySQL में केवल एक फ़ील्ड के लिए WHERE क्लॉज दिखाने का कोई तरीका है?

  3. डुप्लीकेट कुंजी अद्यतन के साथ MySQL लोड डेटा इनफाइल

  4. MySQL पूरे कॉलम से सभी व्हाइटस्पेस हटा दें

  5. यदि MySQL में एक इंडेक्स बनाने या छोड़ने के लिए मौजूद है तो मैं कैसे काम कर सकता हूं?