升级到8后出现MySQL错误,only_full_group_by错误

时间:2018-07-22 14:17:09

标签: php mysql group-by mysql-error-1055

此行给我错误:

  

错误: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;
            }
    }

如何更改查询以解决此错误?

1 个答案:

答案 0 :(得分:0)

对于其他感兴趣的人,我解决了这个问题。我将ID添加到GROUP BY中,因此它现在知道要选择什么。

GROUP BY slug, id 

修复它。