我在安装第 3 方软件时收到此消息。我已阅读相关主题,所有主题都建议将 sql_mode
设置为空字符串 (SET sql_mode = ''
),但该解决方案对我不起作用。仍然遇到同样的错误。我需要在我的配置文件或其他文件中设置它吗?
这里有一些有用的信息;
服务器版本:5.6.15-56-log Percona Server (GPL),版本 rel63.0,修订版 519
mysql> SHOW VARIABLES LIKE 'sql_mode';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| sql_mode | |
+---------------+-------+
1 row in set (0.00 sec)
失败的查询并显示错误消息是;
mySQL query error: SELECT MAX(e.entry_id) as max, MAX(e.entry_date) as maxdate,b.blog_id, b.blog_name, b.blog_seo_name FROM blog_entries e LEFT JOIN blog_blogs b ON ( b.blog_id=e.blog_id ) WHERE e.entry_status='published' AND e.entry_banish=0 AND e.entry_featured=0 AND b.blog_view_level='public' AND b.blog_disabled=0 GROUP BY e.blog_id, b.blog_name, b.blog_seo_name ORDER BY maxdate DESC LIMIT 0,50
SQL error: 'db_name_ipb.b.blog_id' isn't in GROUP BY
SQL error code: 1055
有什么想法吗?
更新
不幸的是,代码已加密,因此无法尝试您的建议。另外 - 正如上面指定的 - 更改 SQL 模式并没有解决我的问题。如果有进展,我将继续调查并更新问题。
最佳答案
您正在选择b.blog_id
并按e.blog_id
分组。这就是问题所在。
SELECT MAX(e.entry_id) as max, MAX(e.entry_date) as maxdate,b.blog_id, b.blog_name, b.blog_seo_name
FROM blog_entries e LEFT JOIN
blog_blogs b ON ( b.blog_id=e.blog_id )
WHERE e.entry_status='published' AND e.entry_banish=0 AND e.entry_featured=0
AND b.blog_view_level='public' AND b.blog_disabled=0
GROUP BY b.blog_id, b.blog_name, b.blog_seo_name
ORDER BY maxdate DESC LIMIT 0,50
关于mysql - SQL错误: 'database.table.field isn' t in GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27878604/