Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Menjalankan Total dengan COUNT

Jawaban yang Diperbarui

OP meminta pendekatan kueri tunggal, agar tidak harus MENGATUR variabel pengguna secara terpisah dari menggunakan variabel untuk menghitung total yang berjalan:

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;

"Inisialisasi sebaris" variabel pengguna juga berguna untuk mensimulasikan fungsi analitik lainnya. Memang saya mempelajari teknik ini dari jawaban seperti ini .

Jawaban Asli

Anda perlu memperkenalkan kueri terlampir untuk mentabulasi @running_sum atas COUNT(*) catatan Anda:

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;

Lihat juga jawaban ini .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perlambatan kecepatan penyisipan saat tabel tumbuh di mysql

  2. PHPMyAdmin memaksa untuk menggunakan ut8mb4 sebagai susunan default

  3. Grails:mengubah url dataSource saat runtime untuk mencapai pemisahan database multi tenant

  4. Bagaimana Mengelola Database Anda dengan Adminer

  5. Tampilkan "Tidak ditemukan kecocokan" atau sembunyikan hasil DIV (AJAX &MySQL)