2014-05-15 52 views
0

我想在MySQL中进行乘法运算。 我有以下的表称为vehicul:MySQL乘法

id car_type car_model number price car_id 
1 audi <model1> 2  320  1 
2 audi <model2> 4  100  1 
3 bmw  <model1> 3  240  2 
4 bmw  <model2> 6  500  2 
5 bmw  <model3> 1  400  2 

我有这样的命令:

SELECT car_type, sum(price) FROM vehicul as v, GROUP BY marca 

其中显示以下内容:

car_type price 
audi  420 
bmw  1140 

但我要的是显示号码*价格和结果是:

car_type price 
audi  1040 
bmw  4120 

基本上..总和(数量*价格)..我该怎么做?我曾尝试这样做:

SELECT car_type, sum(price*number) FROM vehicul as v, GROUP BY marca 

但我得到:

#1052 - Column 'number' in field list is ambiguous 
+0

试试这个'SELECT v.car_type,SUM(v.price)* SUM(v.number)作为多个FROM vehicul v,GROUP BY v.marca' – ashin999

+0

我相信你在错误的地方加了“AS v”?不应该在“总和(数字)”之后? –

+0

从car_type选择car_type,sum(price * number)作为来自vehicul group的价格..在这里发布SQL小提琴 –

回答

2

选择car_type,总和(价格*数量)为从car_type vehicul组价格..

http://sqlfiddle.com/#!2/3d881/1

你应该使用sum(field_1 * field_2)而不是sum()* sum()

1

你q uery完全正确。您可能有多个表格,其中包含2个或更多数字列。尝试:

SELECT car_type, sum(price)*sum(number) 
FROM vehicul 
GROUP BY marca; 

但与逻辑分析,你会需要它来获取总价:

SELECT car_type, sum(price*number) 
FROM vehicul 
GROUP BY marca;