2014-05-15 53 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;