Mysql升级到8后出错,only_full_group_by错误



这行给了我错误:

错误:SELECT列表的表达式#1不在GROUP BY子句中,并且包含非聚合列"hng_1.tags.id",该列不是函数依赖于GROUP BY子句中的列;这是与sql_mode=only_full_group_by 不兼容

foreach($groups as $group)
{
$query = mysqli_query($verbindung, "SELECT * FROM (SELECT *, COUNT(id) AS c FROM tags WHERE typ='" . mysqli_real_escape_string($verbindung, $group) . "' GROUP BY slug ORDER BY c DESC LIMIT 9) AS i ORDER BY i.tag ASC") or die("Error: " . mysqli_error($verbindung));
while ($row = mysqli_fetch_array($query)) {
$tmp_tags[] = $row;
}
}

如何更改查询以修复此错误?

对于其他感兴趣的人,我解决了这个问题。我将id添加到GROUP BY,这样它现在就知道该选择什么了。

GROUP BY slug, id 

修复它。

相关内容

  • 没有找到相关文章

最新更新