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

时间:2010-03-28 07:41:56

标签: sql mysql sum

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

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

如果不循环浏览所有记录,是否可以做到这一点?

5 个答案:

答案 0 :(得分:2)

没有

SELECT id, SUM(amount*(1+vat)) AS total, vat
FROM transactions
WHERE id=1

答案 1 :(得分:0)

你喜欢

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

这将为您提供所有金额加上增值金额的总和。

答案 2 :(得分:0)

你可以这样做:

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

答案 3 :(得分:0)

没有返回正确的金额

SUM(amount * vat)返回1849.14
SUM(金额*(1 +增值税))返回2010.42
SUM(金额+金额*增值税)返回2010.42

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
    */

答案 4 :(得分:0)

你没有乘以一个百分比,100 * 17.5是1750. 100 * 17.5 / 100是正确的方法或你的百分比应表示为.175