如何按数据集从MySQL组_中排除特定重复项?
我使用的是MySQL 5.7.12。我有一个简单的查询,如下所示:如何按数据集从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 我在这
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