分组依据给出错误“无效使用分组功能”

时间:2018-07-17 22:45:23

标签: mysql sql group-by

我想从下表中获得每个用户的喜欢次数:

  • 用户表:包含用户名,电子邮件,联系方式
  • 喜欢表:其中包含图片ID和喜欢它的用户ID
  • 图片发布表* :包含图片ID,发布它的用户ID

我正在使用以下查询,错误为“无效使用组功能”:

select sum(count(pid)) from p_like where pid in (
        select pid from p_picuser where userid in (
            SELECT userid from p_users 
            )
        ) GROUP BY pid

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

您不能汇总(汇总,计数等)分组所依据的相同变量。如果您希望按用户计数,请对此分组。所以也许尝试类似的东西:

SELECT userid, count(*) from p_like GROUP BY user

p_like表中按userId获取喜欢计数。严格来说,这就是您的答案。

然后要添加更多用户详细信息,可以将其作为子查询并加入到您的p_user表中,例如

SELECT email, like_count from p_users pusers, (
    SELECT userid, count(*) like_cound from p_like GROUP BY user
   ) group_sub
WHERE p_users.userid = group_sub.userid