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

Hàm SELECT trong MySQL để tính tổng dữ liệu hiện tại

Đây được gọi là tổng tích lũy.

Trong OraclePostgreSQL , nó được tính bằng hàm cửa sổ:

SELECT  id, val, SUM() OVER (ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
FROM    mytable

Tuy nhiên, MySQL không hỗ trợ nó.

Trong MySQL , bạn có thể tính toán nó bằng cách sử dụng các biến phiên:

SET @s = 0;

SELECT  id, val, @s := @s + val
FROM    mytable
ORDER BY
        id
;

hoặc theo cách thuần túy dựa trên tập hợp nhưng kém hiệu quả hơn:

SELECT  t1.id, t1.val, SUM(t2.val)
FROM    mytable t1
JOIN    mytable t2
ON      t2.id <= t1.id
GROUP BY
        t1.id
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cơ sở dữ liệu thiết kế cho danh mục, danh mục con và sách liên quan

  2. xóa nơi id là lớn nhất

  3. Xác thực bằng mật khẩu cũ không còn được hỗ trợ, hãy sử dụng mật khẩu kiểu 4.1

  4. không thể tìm thấy tệp mysql.h

  5. Cách CHÈN nếu hàng không tồn tại (UPSERT) trong MySQL