【发布时间】:2018-12-30 03:36:02
【问题描述】:
这行给了我错误:
错误: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;
}
}
如何更改查询以修复此错误?
【问题讨论】:
-
您的查询毫无意义。也许向我们展示您的预期输出是什么,我们可以为您提供帮助。很高兴看到新的 MySQL 8 only full group by message 更好地解释了正在发生的事情。
-
您希望查询做什么?这包括给出对输入的约束以及输出如何成为输入的函数。你以为老头子做了什么?您是否通过文档阅读了该组以了解它的实际作用?请阅读minimal reproducible example并采取行动。
-
了解如何操作
GROUP BY。您的查询无效,这就是它崩溃的原因。
标签: php mysql group-by mysql-error-1055