MySQL错误代码1111:无效使用组功能

问题描述 投票:1回答:1

当我尝试打印不跟随任何人的名人时,我收到错误代码1111。

user (email, password, name, date_of_birth, address, type)
primary key(email)

celebrity (email, website, kind)
primary key(email)

follow (follower,followee)
primary key(follower,followee)
foreign key(follower) references user(email)
foreign key(followee) references user(email))

SELECT DISTINCT(u.name)
FROM follow as f, user as u, celebrity as c
WHERE u.email = c.email and (0 > COUNT(f.followee))
ORDER by name DESC
mysql mysql-workbench
1个回答
0
投票

如果没有在组中未提及的聚合功能,则不能使用列

如果要检查聚合函数结果,则必须使用having而不是where

所以你应该使用

  SELECT u.name
  FROM follow as f, user as u, celebrity as c
  WHERE u.email = c.email
  GROUP BY  u.names
  having  0 > COUNT(f.followee)

  ORDER by name DESC

(但是0> COUNT(f.followee)是没有意义的,你可能需要另一个检查计数条件,而你的连接子句似乎也没有完成)

© www.soinside.com 2019 - 2024. All rights reserved.