如何获得Mysql中所有卷的总和


How to Get Sum of all Volume in Mysql?

我想得到所有体积的总和,但我不知道如何得到加仑/秒到升/秒或毫升/秒的总和。

我使用这个SQL查询:

    SELECT CONCAT(TRIM(SUM(Raw_Quantity * 
        CASE WHEN Unit_Name= 'mL/s'     THEN 1
             WHEN Unit_Name= 'liter/s'  THEN 1000
             WHEN Unit_Name= 'gallon/s' THEN 3.785
        END)) / 1000, ' liter/s') 
      WHEN TRIM(SUM(Raw_Quantity * 
        CASE WHEN Unit_Name= 'mL/s'     THEN 1
             WHEN Unit_Name= 'liter/s'  THEN 1000
             WHEN Unit_Name= 'gallon/s' THEN 3.785
        END)) + 0 >= 1 
      THEN CONCAT(TRIM(SUM(Raw_Quantity * 
        CASE WHEN Unit_Name= 'mL/s'     THEN 1
             WHEN Unit_Name= 'liter/s'  THEN 1000
             WHEN Unit_Name= 'gallon/s' THEN 3.785
        END)) / 1, ' mL/s')
      WHEN TRIM(SUM(Raw_Quantity *
        CASE WHEN Unit_Name= 'mL/s'     THEN 1
             WHEN Unit_Name= 'liter/s'  THEN 1000
             WHEN Unit_Name= 'gallon/s' THEN 3.785
        END)) + 0 >= 3.785
      THEN CONCAT(TRIM(SUM(Raw_Quantity *
        CASE WHEN Unit_Name= 'mL/s'     THEN 1
             WHEN Unit_Name= 'liter/s'  THEN 1000
             WHEN Unit_Name= 'gallon/s' THEN 3.785
        END)) / 3.785, ' gallon/s')
      END) AS 'QUANTITY',
      GROUP_CONCAT(
        CASE WHEN Unit_Name = 'liter/s' AND Raw_Expiration_Date.Raw_Quantity < 1     THEN 'mL/s'
             WHEN Unit_Name = 'gallon/s' AND  Raw_Expiration_Date.Raw_Quantity < 1     THEN 'liter/s'
             WHEN Unit_Name = 'liter/s' AND  Raw_Expiration_Date.Raw_Quantity > 3.785 THEN 'gallon/s'
             ELSE Unit_Name
        END) SEPARATOR '') AS 'Raw_Expiration_Date'
      FROM Raw_Expiration_Date
INNER JOIN Raw_Material_Table ON Raw_Expiration_Date.Raw_ID = Raw_Material_Table.Raw_ID
INNER JOIN unit_table ON unit_table.Unit_ID = raw_expiration_date.Unit_ID
  GROUP BY Raw_Material_Table.Raw_ID
  ORDER BY Raw_Name ASC;

这是我的示例数据:

Raw_Quantity  Unit_Name
500           mL/s
3             liter/s 
6             liter/s
20.780        gallon/s

但是,结果是不正确的:

9.5786523升/s

我想我的错误是在如何计算加仑/秒。我在这些计算中做错了什么?

如果确实有3.785升到一加仑,那么问题是你的加仑乘数是3.785,但它应该是3785.0