2010-03-28 64 views
0
Select 
id, 
sum(amount), 
vat 
From transactions WHERE id=1; 

在此表中的每个记录的sql问题有一个大桶百分比,我需要得到所有记录的总额,但每种的量必须由乘以其增量%。关于总和()和税收(的MySQL 5.0.89)

有没有做到这一点没有循环所有记录?

回答

2

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

你的东西一样

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

这将让你的总和所有金额加上增值税金额

0

你可以这样做:

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

有没有返回正确的数额

SUM(数量*增值税)返回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 
    */ 
0

你不乘以百分比,100 * 17.5是1750. 100 * 17.5/100是正确的方式,或者你的百分比应该表示为.175