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

Tính toán Mysql trong câu lệnh select

Nói chung, SQL không thực sự nhằm mang lại "tổng số đang chạy" như bạn mong muốn. Các RDBMS khác đã giới thiệu các phần mở rộng độc quyền để cung cấp các chức năng phân tích cho phép tính toán loại này, nhưng MySQL thiếu các tính năng như vậy.

Thay vào đó, một cách rộng rãi có bốn lựa chọn. Không theo thứ tự cụ thể:

  1. Tích lũy tổng số đang chạy trong ứng dụng của bạn, khi bạn lặp lại tập kết quả;

  2. Thay đổi lược đồ của bạn để theo dõi tổng số đang chạy trong cơ sở dữ liệu của bạn (đặc biệt tốt trong những tình huống như thế này, khi dữ liệu mới chỉ được nối "vào cuối");

  3. Nhóm tự tham gia:

    SELECT   a.Sale_Date,
             SUM(a.Stock_Delivered)                AS Stock_Delivered,
             SUM(a.Units_Sold)                     AS Units_Sold,
             SUM(b.Stock_Delivered - b.Units_Sold) AS `Stock Balance`
    FROM     sales_report a
        JOIN sales_report b ON b.Sale_Date <= a.Sale_Date
    GROUP BY a.Sale_Date
    
  4. Tích lũy tổng số đang chạy trong biến người dùng :

    SELECT   Sale_Date,
             Stock_Delivered,
             Units_Sold,
             @t := @t + Stock_Delivered - Units_Sold AS `Stock Balance`
    FROM     sales_report, (SELECT @t:=0) init
    ORDER BY Sale_Date
    


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Làm thế nào để CHỌN dữ liệu từ bảng được ghi lại ngày hôm nay?

  2. Kiểm tra sự bình đẳng trên trường MySQL Float

  3. Truy vấn SQLAlchemy trong Python:AttributeError:Đối tượng 'Connection' không có thuộc tính 'contextual_connect'

  4. Thêm hình ảnh vào blob (mysql) qua c #

  5. io.vertx.mysqlclient.MySQLPool.query () .execute không bao giờ thực sự được thực thi và không trả về gì