我有兩個表用戶和票,有些用戶可以有相同的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