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

Suma uruchomiona MySQL z COUNT

Zaktualizowana odpowiedź

OP poprosił o podejście z jednym zapytaniem, aby nie musieć ustawiać zmiennej użytkownika oddzielnie od używania zmiennej do obliczenia sumy bieżącej:

SELECT d.date,
       @running_sum:[email protected]_sum + d.count AS running
  FROM (  SELECT date, COUNT(*) AS `count`
            FROM table1
           WHERE date > '2011-09-29' AND applicationid = '123'
        GROUP BY date
        ORDER BY date ) d
  JOIN (SELECT @running_sum := 0 AS dummy) dummy;

„Inicjalizacja w linii” zmiennych użytkownika jest również przydatna do symulacji innych funkcji analitycznych. Rzeczywiście nauczyłem się tej techniki z odpowiedzi jak ta .

Oryginalna odpowiedź

Musisz wprowadzić otaczające zapytanie, aby zestawić @running_sum nad swoimi COUNT(*) rekordami:

SET @running_sum=0;
SELECT d.date,
       @running_sum:[email protected]_sum + d.count AS running
  FROM (  SELECT date, COUNT(*) AS `count`
            FROM table1
           WHERE date > '2011-09-29' AND applicationid = '123'
        GROUP BY date
        ORDER BY date ) d;

Zobacz też tę odpowiedź .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wdrażanie uprawnień opartych na reputacji

  2. Jak stworzyć stół TYMCZASOWY w laravelu

  3. Prześlij pliki z iPhone'a/IPada do mysql DB?

  4. Zapisywanie obrazów w bazie danych mysql

  5. Czy dynamiczne zapytania mysql z kodem ucieczki sql są tak samo bezpieczne, jak przygotowane instrukcje?