我现在有这个问题在我的网站上抓取评论:
SELECT a.author_id,
a.guest_username,
a.comment_text,
a.comment_id,
u.pc_info_public,
u.distro,
a.time_posted,
a.last_edited,
a.last_edited_time,
u.username,
u.user_group,
u.secondary_user_group,
u.`avatar`,
u.`avatar_gravatar`,
u.`gravatar_email`,
u.`avatar_uploaded`,
u.`avatar_gallery`,
u.pc_info_filled,
ul.username as username_edited
FROM `articles_comments` a
LEFT JOIN `users` u ON a.author_id = u.user_id
LEFT JOIN `users` ul ON ul.user_id = a.last_edited
WHERE a.`article_id` = ? ORDER BY a.`comment_id` ASC LIMIT ?
我正在尝试从名为“likes”的表中添加COUNT(l.likes)(“l”是我在进行ON检查时命名的。)
问题是,当我添加COUNT时,我的查询立即失败并出现如下错误:
语法错误或访问冲突:1140在没有GROUP BY的聚合查询中,SELECT列表的表达式#1包含非聚合列'goltest.a.author_id';这与sql_mode = only_full_group_by
不兼容
我用Google搜索并搜索了所有我能找到解决问题的例子对我没有意义,有人可以详细说明错误吗?
答案 0 :(得分:1)
错误消息告诉您错误的原因:您需要group by
一些东西,以计算有多少人喜欢这些东西。分组通常在您加入表格的主键上完成。