Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tổng số đang chạy MySQL với COUNT

Câu trả lời được cập nhật

OP đã yêu cầu một cách tiếp cận truy vấn duy nhất, để không phải ĐẶT biến người dùng một cách riêng biệt với việc sử dụng biến đó để tính tổng số đang chạy:

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;

"Khởi tạo nội tuyến" của các biến người dùng cũng hữu ích cho việc mô phỏng các hàm phân tích khác. Thật vậy, tôi đã học được kỹ thuật này từ các câu trả lời như thế này .

Câu trả lời ban đầu

Bạn cần giới thiệu một truy vấn kèm theo để lập bảng cho @running_sum trên COUNT (*) bản ghi ed của bạn:

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;

Xem thêm câu trả lời này .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY - không nhóm NULL

  2. Đặt (lại) id tăng tự động MySQL bắt đầu từ 1

  3. MySQL:sự khác biệt của hai tập kết quả

  4. Gửi dữ liệu đến cơ sở dữ liệu khi nhấp vào liên kết mà không cần làm mới trang

  5. Từ chối câu lệnh PDO MySQL nếu một giá trị được chỉ định được tìm thấy trong một trường?