在数据库中选择具有多个实例的用户

时间:2016-01-05 01:47:19

标签: php mysql select

我有一个包含userID字段和itemID字段的表。我想选择那些有两个或更多个itemID相同的实例的用户(例如,如果有3条记录,其中userID = 1,itemID = 7那么我想要那些结果,但如果有& #39;只是一个例子)。我需要获得所有用户(不仅仅是某个用户ID的结果)。 谁能建议我怎么做? 感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用聚合和having子句执行此操作。如果您只是想要用户:

select distinct userID
from t
group by userId, itemID
having count(*) >= 2;

这是一个有趣的查询,因为它是group byselect distinct一起使用的非常罕见的情况之一。如果您想要userId / itemId对,那么您将使用select userId, itemId,而不使用distinct

答案 1 :(得分:0)

你只需要使用group by和having。 having子句就像在哪里,除了它也适用于聚合。所以它就像select userID, itemID, count(*) from mytable group by userID, itemID having count(*) > 1