在更新到MySQL 5.7.11之后,我们得到了一些与sql_mode相关的错误,包括only_full_group_by。
研究表明,我们可以将其关闭,但最好知道如何使用结构合理的SQL语句来实现预期目标。
错误:
#1140 -在没有GROUP BY的聚合查询中,选择列表的表达式#1包含非聚合列‘tbllideshow.slideImage’;这与sql_mode=only_full_group_by不兼容
查询:
SELECT
tblslideshow.slideImage,
COUNT(tblslideshow.slideID) AS countVal
FROM
tblslideshow
WHERE
tblslideshow.parentID = 3424
目标是返回值的列表,同时还返回所有返回记录的计数。在不更改MySQL my.ini的情况下实现此目标的最佳方法是什么?为什么它是一个Group By错误,因为我们甚至没有分组?或者分组是正确解决方案的一部分?
预期结果应为:
slideImage | countVal
Image1.jpg | 3
Image2.jpg | 3
Image3.jpg | 3
编辑:由于我们使用的是PHP和MySQLi,所以更明智的做法是排除Count(),只使用"mysqli_num_rows“。
https://stackoverflow.com/questions/50750710
复制相似问题