SELECT AVG(totalled) as mySum , `id`
FROM (
SELECT totalled,id
FROM `figure`
where `userid`='".$userid."'
ORDER BY id DESC
LIMIT 4
) t1
我已经创建了这个语句,但我得到的错误是: 静态分析:
在分析过程中发现了3个错误。
预计会有表达。 (靠近“(”42号位置) 意外的标记。 (靠近“(”42号位置) 之前已解析过这种类型的子句。 (位置43处的“SELECT”附近) SQL查询:文档
SELECT AVG(totalled) as mySum , `id`
FROM (
SELECT totalled,id
FROM `figure`
where `userid`='".$userid."'
ORDER BY id DESC
LIMIT 4
) t1
MySQL说:文档
1140 - 在没有GROUP BY的聚合查询中,SELECT列表的表达式#2包含非聚合列't1.id';这与sql_mode = only_full_group_by
不兼容
我需要做些什么来解决这个问题。
答案 0 :(得分:0)
Yuo有一个列(id)不在group by中,因此db引擎引发错误。这发生在从mysql 5.7开始的
SELECT AVG(totalled) as mySum , `id`
FROM (
SELECT totalled,id
FROM `figure`
where `userid`='".$userid."'
ORDER BY id DESC
LIMIT 4
) t1
group by `id`