我遇到了一个让我有点困惑的 SQL 问题。关于这个问题,我有两个不同的问题:
以下查询:
SELECT subs.date_added,subs.subscribed_to,users.userid, users.username, users.email, users.avatar, users.fbuid, users.level, users.avatar_url, users.sex, users.dob, users.profile_hits, users.total_videos, users.subscribers, users.doj, users.extras, users.first_name, users.last_name, users.ban_status, users.usr_status, users.last_logged, users.country, users.user_filter_level, users.signup_ip, subs.userid as subscriber
FROM cb_subscriptions as subs
LEFT JOIN cb_users AS users
ON subs.userid=users.userid
WHERE subs.subscribed_to ='2960'
GROUP BY subs.subscribed_to ,subs.userid
ORDER BY subs.date_added ASC
LIMIT 8;
Run Code Online (Sandbox Code Playgroud)
...产生以下错误:
ERROR: column "users.userid" must appear in the GROUP BY clause or be used in an aggregate function
Run Code Online (Sandbox Code Playgroud)
该字段是 a CHAR,所以我不确定要使用哪种聚合,或者(对我的理解更重要)为什么需要一个聚合。
正如我所说,我不确定我是否理解为什么会发生这种情况。我假设我group …