2015-10-06 74 views
0

我希望我能正確地說出這一點 - 我不確定我是否正確地處理了這個問題。MYSQL在前一行乘以列值

我正在運行一個MySQLi查詢,我需要通過一列中的值的總和(乘法)的結果對結果進行排序。值爲2位小數,是運動結果的「賠率」。因此,我不能簡單地將每行的值作爲結果進行求和(例如,1,1,1加3,但乘以1)不會給我'正確'的排序。

目前我只是在我的查詢

SUM(Fav_odds) AS Total 

執行總和,但我很爲難,我怎麼能得到「Total」是的結果「Fav_odds *行數」我的查詢。

Fav_odds | Vendor 
------------------ 
1.2  | Name 
2.1  | Name 
3.2  | Name 

因此,對於銷售商稱爲 '名稱' 我想給用於Fav_odds列項(例如1.2 * 2.1 * 3.2 = 8.064)

+0

你真的需要更好地解釋這一點。我越讀它越容易混淆。解釋你想做什麼,不參考數據結構,然後分開告訴我們你有的數據結構。 – AgapwIesu

+0

謝謝你的建議。 – user3061608

+0

或者也許給一小部分有限的值,5或6,以及期望的結果。首先顯示值,然後分別顯示預期的輸出。 – AgapwIesu

回答

1
select round(EXP(SUM(LOG(fav_odds))),3) as fav_odds from table; 
+0

非常棒,絕對完美,非常感謝你的接受該幫忙的時候了。這個怎麼用? – user3061608

0

一個multipled值使用可變

set @miller := 1; 
select orderingTotal from 
    (select @miller:[email protected]*Fav_odds as orderingTotal 
     from mytable) mytotaltable 
order by orderingTotal; 

,或者如果你說的到底是什麼東西可能是隻是說

sum(Fav_odds) * count(Fav_odds) 

的事情是正確的方式(「發v_total *行數「)。

+0

謝謝,我在問題 – user3061608

+0

中增加了一小部分數據庫謝謝你的幫助,對不起,我的描述不夠準確,現在已經得到解答 – user3061608