2011-05-17 23 views
0

讓F3的SUM,但分組我想所有評論計數按類別分組。例如如何通過F2

f1  f2  f3 
php  hello 34 
php  hello 34 
php  hello 34 
php  world 23 
php  world 23 
php  world 23 
asp  world1 43 
asp  world1 43 
asp  world1 43 

如何獲得f3的總和但是按f2分組?

所以沒有34 + 34 + 34 +23 ...但34 + 23 + 43

編輯:F2是唯一

+1

您可以通過'f1'平均分組的數據庫信息?通過'f2'分組會'34 + 34 + 34'和'23 + 23 + 23 + 43 + 43 + 43' – JNK 2011-05-17 12:39:01

+0

不,如果我們按F2,我們得到34 + 23 + 43,所有我需要的是總和這 – flakerimi 2011-05-17 12:55:08

+0

在你的樣本數據中'f2'不是唯一的。你能顯示一些實際的數據嗎? – JNK 2011-05-17 13:00:53

回答

0

好吧,我認爲這遍..基本上,如果我這樣做明白你想要每個不同組合的總和是正確的。

所以沒有34 + 34 + 34 + 23 + 23 + 23 + 43 + 43 + 43 ... BUT 34 + 23 + 43

爲了你需要欺騙的MySQL與下面的查詢:

SELECT 
SUM(tot.invalid_votes) AS total 
FROM (SELECT DISTINCT QV, invalid_votes FROM `results`) tot 

這將返回基於QV領域鮮明值的總和。

表:

QV invalid_votes 
0544 5 
0544 5 
0544 5 
0545 6 
0545 6 

根據您提供我得到以下結果

+0

你搖滾!謝謝 – flakerimi 2011-05-17 14:47:15

2
SELECT SUM(f3) FROM `tablename` GROUP BY f2, f3 
+0

不,不工作,這不應該給我一個結果嗎?我得到更多,我有分組由f2 – flakerimi 2011-05-17 12:45:41

+0

是否有電子方式得到SUM的總和 – flakerimi 2011-05-17 12:46:16

+0

對不起,阿德里安是正確的。我犯了一個錯誤。 – 2011-05-17 12:54:12

0

我能想到的唯一的方式來獲得的總和在三個不同的值是

Select sum (distinct f3) from yourtable 

我希望這對你有意義的,因爲我還在試圖找出你想要什麼。

+0

這樣做的風險很大,因爲您無法確定具有相同值的數字是否與f2表的相同'分組值'相關聯......但您是對的,很難理解OP要什麼 – DonSeba 2011-05-17 12:55:12

0

根據您發佈的引擎收錄,

這應該工作

SELECT QV, SUM(invalid_votes) FROM `results` GROUP BY QV 

我得到以下結果

QV  SUM(invalid_votes) 
0544 15 
0545 12 
+0

是的是的,但我怎麼能總和SUM(invalid_votes)所以最後我只有一個值 – flakerimi 2011-05-17 13:40:31