我有两个表用户和票,有些用户可以有相同的unq_id
GROUP BY使用另一台
我想选择所有不同unq_id
从用户和votes
它们排序来自的票数表。
但结果并不如我预期的那样,票数是重复的。你可以看到在下面的图像
SELECT DISTINCT u.unq_id, COUNT(v.id) AS count_votes
FROM users u
INNER JOIN votes v
ON u.unq_id = v.unq_id
WHERE u.unq_id <> ''
GROUP BY u.unq_id;
SQLFiddle:http://sqlfiddle.com/#!9/e0bb35/1
预期结果:
3fyx6 - 3
9kx9mq - 1
一般GROUP BY规则说:如果指定了GROUP BY子句,在SELECT列表中的每个列引用必须要么识别分组列或者是设置功能的参数! – jarlh
你的表格关系看起来很奇怪。你应该有一个唯一的标识符来加入你目前没有的。这是行不通的。 –
通常在GROUP BY时不需要做SELECT DISTINCT。 – jarlh