我希望按类别对所有评论进行分组。例如
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是唯一的
答案 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