我已经创建了一个可以在mysql 5.6.26上运行的sql语句但它在mysql 5.7.18-0上不起作用
SELECT AVG(total) as mySum , `id`
FROM (SELECT total,id
FROM `figure`
where `userid`=156 ORDER BY id DESC LIMIT 4
) t1
我收到的错误:
错误静态分析:
在分析过程中发现了3个错误。
预计会有表达。 (靠近“(”在第39位)出乎意料 令牌。 (近“(”在第39位)这种类型的条款以前是 解析。 (位于第40位的“SELECT”附近)SQL查询:文档
SELECT AVG(total)as mySum,
id
FROM(SELECT total,id FROMfigure
其中userid
= 156 ORDER BY id DESC LIMIT 4)t1MySQL说:文档
1054 - “字段列表”
中的未知列“总计”
我做错了什么? 数据库结构: id userid total 1 156 90 2 156 30 3 156 30 4 156 20 5 156 30 6 156 20 7 156 30 8 156 40
答案 0 :(得分:0)
您需要将列id
添加到GROUP BY
子句中,如下所示:
SELECT AVG(total) as mySum , `id`
FROM (SELECT total, id
FROM `figure`
WHERE `userid`= 156
ORDER BY `id` DESC LIMIT 4
) t1
GROUP BY `id`