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

Làm toán trong MySQL từ SELECT

Bạn không thể sử dụng bí danh được xác định trong mệnh đề SELECT để tính toán các cột khác cũng nằm trong cùng mệnh đề SELECT. Bạn có ít nhất ba tùy chọn:

  1. Lặp lại truy vấn con mỗi khi bạn cần sử dụng. Điều này có nhược điểm là bạn sẽ cần phải lặp lại rất nhiều mã. Vì các truy vấn phụ của bạn dài và phức tạp, đây là một tùy chọn không mong muốn.

  2. Sử dụng truy vấn con và truy vấn bên ngoài.

    SELECT
        *,
        (subtotal - payment) AS balance
    FROM
    (
         SELECT 
             ...,
             (...) AS subtotal,
             (...) AS payment
         FROM ... 
    ) T1
    
  3. Sử dụng JOIN thay vì các lựa chọn con. Điều này hơi phức tạp hơn đối với tình huống của bạn, nhưng sẽ tốt hơn cho hiệu suất nếu bạn cần tìm nạp nhiều hơn một hàng.



  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 giải quyết cảnh báo mysql:InnoDB:page_cleaner:Vòng lặp dự định 1000ms mất XXX ms. Cài đặt có thể không tối ưu?

  2. Truyền trực tuyến MySql ResultSet với số lượng kết quả cố định tại một thời điểm

  3. PHP chuyển đổi định dạng ngày tháng

  4. Mysql không khởi động trong vùng chứa docker trên MacOS sau khi cập nhật docker

  5. Xuất dữ liệu từ mysql trong xml bằng php