如何按数据集从MySQL组_中排除特定重复项?

如何按数据集从MySQL组_中排除特定重复项?,mysql,Mysql,我使用的是MySQL 5.7.12。我有一个简单的查询,如下所示: SELECT COUNT(id) as count, pic_id FROM user_pictures GROUP BY pic_id 我想从分组中排除所有重复的用户ID记录。因此,我做了以下操作,但没有返回任何结果: SELECT COUNT(id) as count, pic_id FROM user_pictures GROUP BY pic_id HAVING count(user_id) = 1 我在这

我使用的是MySQL 5.7.12。我有一个简单的查询,如下所示:

SELECT COUNT(id) as count, pic_id
FROM user_pictures 
GROUP BY pic_id 
我想从分组中排除所有重复的用户ID记录。因此,我做了以下操作,但没有返回任何结果:

SELECT COUNT(id) as count, pic_id 
FROM user_pictures 
GROUP BY pic_id 
HAVING count(user_id) = 1
我在这里遗漏了什么?

使用DISTINCT,这样就不会计算相同用户id的重复项:


您想排除表中出现超过1次的用户,还是只计算一次?@DanielBlais我希望查询排除出现超过1次的用户id。因此,我希望查询将其计数为1,但如果有4个相同的值,则不应将其计数为4-它仍应返回1。请尝试COUNTDISTINCT user_id@Barmar哇,没想到!很好的一个,非常感谢,它正在工作:你能创造一个答案吗?所以我可以接受。
SELECT COUNT(id) as count, pic_id 
FROM user_pictures 
GROUP BY pic_id 
HAVING count(DISTINCT user_id) = 1