mysql查找具有每个条件的对

时间:2016-09-12 14:55:29

标签: mysql

我有这样一张桌子: table1

我想从table1找到所有cid,这个cid已经购买了两次pid。例如,在table1中,结果应为(3,2),因为cid 3已经两次购买了pid 2。

如何编写sql来执行该操作?

1 个答案:

答案 0 :(得分:1)

SELECT cid
FROM yourTable
GROUP BY cid
HAVING COUNT(*) - COUNT(DISTINCT pid) > 0

<强>解释

此查询将识别出cid值出现两次或更多次的pid组,至少有一个pid值。 HAVING子句中的逻辑是,如果pid组的所有cid都是唯一的,那么表达式将等于零,否则它将大于零。