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

sử dụng mysql SUM () trong mệnh đề WHERE

Bạn chỉ có thể sử dụng tổng hợp để so sánh trong mệnh đề HAVING:

GROUP BY ...
  HAVING SUM(cash) > 500

HAVING mệnh đề yêu cầu bạn xác định mệnh đề GROUP BY.

Để nhận hàng đầu tiên trong đó tổng của tất cả số tiền trước đó lớn hơn một giá trị nhất định, hãy sử dụng:

SELECT y.id, y.cash
  FROM (SELECT t.id,
               t.cash,
               (SELECT SUM(x.cash)
                  FROM TABLE x
                 WHERE x.id <= t.id) AS running_total
         FROM TABLE t
     ORDER BY t.id) y
 WHERE y.running_total > 500
ORDER BY y.id
   LIMIT 1

Bởi vì hàm tổng hợp xuất hiện trong một truy vấn con, bí danh cột của nó có thể được tham chiếu trong mệnh đề WHERE.



  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ách cài đặt MySQL 8.0 trên CentOS 8 / RHEL 8

  2. Cách đọc tệp nhật ký nhị phân MySQL (BinLog) với mysqlbinlog

  3. Tạo một chuỗi số nguyên trong MySQL

  4. Cách thay đổi kích thước cột trong MySQL

  5. Ví dụ về DATE_FORMAT () - MySQL