如何获得f3的SUM但是被f2分组

时间:2011-05-17 12:36:41

标签: php mysql sql

我希望按类别对所有评论进行分组。例如

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是唯一的

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

我能想到得到三个不同值之和的唯一方法是

Select sum (distinct f3) from yourtable

我希望你有意义,因为我还在想弄清楚你想要什么。

答案 2 :(得分:0)

根据您发布的pastebin,

这应该有效

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

我得到以下结果

QV      SUM(invalid_votes)
0544    15
0545    12

答案 3 :(得分:0)

好吧我认为这一切......基本上如果我理解正确你想要每个不同的集合的总和。

  

所以不是34 + 34 + 34 + 23 + 23 + 23 + 43 + 43 + 43 ...但是34 + 23 + 43

为此,您需要使用以下查询来欺骗MySQL:

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

这将根据QV字段返回 Distinct 值的SUM。

表:

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

根据您提供的数据库信息,我得到以下结果 11