关于sum()和tax的sql问题(MySQL 5.0.89)

关于sum()和tax的sql问题(MySQL 5.0.89),sql,mysql,sum,Sql,Mysql,Sum,此表中的每个记录都有一个增值税百分比,我需要得到所有记录中的总金额,但是每个金额必须乘以其增值税百分比 是否可以在不循环所有记录的情况下执行此操作?否 Select id, sum(amount), vat From transactions WHERE id=1; 你知道什么吗 SELECT id, SUM(amount*(1+vat)) AS total, vat FROM transactions WHERE id=1 这将得到所有金额加上增值税金额的总和。您可以: Selec

此表中的每个记录都有一个增值税百分比,我需要得到所有记录中的总金额,但是每个金额必须乘以其增值税百分比

是否可以在不循环所有记录的情况下执行此操作?

Select 
id,
sum(amount), 
vat 
From transactions WHERE id=1; 

你知道什么吗

SELECT id, SUM(amount*(1+vat)) AS total, vat
FROM transactions
WHERE id=1
这将得到所有金额加上增值税金额的总和。

您可以:

Select    id,
          sum(amount + amount*vat)       
From      transactions 
WHERE    id=1; 

没有返回正确的金额

总额(金额*增值税)返回1849.14
金额(金额*(1+增值税))返回2010.42
金额(金额+金额*增值税)返回2010.42

Select id, sum(amount*vat)
From transactions 
WHERE id=1; 

你不用乘以一个百分比,100*17.5等于1750。100*17.5/100是正确的方式,或者您的百分比应表示为.175

SELECT amount, vat FROM transactions WHERE id = 1;

/* 13 rows returned

        *amount*    * vat % *
        100.00 |    17.50
        25.28  |    2.28
        5.00   |    1.15
        5.00   |    1.15
        5.00   |    1.15
        1.00   |    1.18
        4.00   |    1.18
        3.00   |    1.18
        3.00   |    1.18
        1.00   |    1.10
        4.00   |    1.15
        4.00   |    1.10
        1.00   |    1.18
    */