在如下表中:
name | posts | comments
---------------------------------------
user1 | page1 | 90
user1 | page2 | 50
user1 | page3 | 40
user2 | page2 | 55
user2 | page4 | 45
. | . | .
. | . | .
. | . | .
例如,找到具有2个以上帖子的用户的最佳方法是什么?
我通常这样做的方法是使用主键
进行分组(for example) SELECT * FROM table
GROUP BY PrimaryKey
HAVING COUNT(name) > 2
但是在这种情况下不能这样做;有什么方法可以进行?
提前谢谢!
答案 0 :(得分:1)
您似乎想要这个:
SELECT user_name
FROM table
GROUP BY user_name
HAVING COUNT(*) > 2;
您似乎对什么是主键有误解。您的查询版本将不返回任何行。为什么不?主键是 unique 。没有重复项。您想要user_name
的副本,因此这似乎是适当的查询。