Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przypisanie zmiennej użytkownika mysql z count(*)

Jak powiedział @JagaSrik, istnieje potrzeba uzyskania większej ilości informacji o Twoich danych i tabelach, aby udzielić prawidłowej odpowiedzi. Jeśli jednak potrzebujesz zmienić tabelę w ten sposób:

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

do czegoś takiego:

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

możesz użyć KURSORA .

W tym przykładzie:

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 ;

Niemniej jednak KURSOR to sposób na pracę i mogą istnieć bardziej skuteczne metody.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak policzyć dwa razy to samo pole na podstawie wartości logicznej?

  2. Wykonanie zapytania w PHP trwa 90 razy dłużej niż w przypadku klienta MySQL

  3. Preferowany silnik MySQL – MyISAM lub InnoDB

  4. mysql lewe złącze zewnętrzne

  5. Boolean vs tinyint(1) dla wartości logicznych w MySQL