SQL语句出现错误

时间:2017-05-17 13:33:08

标签: mysql phpmyadmin

我已经创建了一个可以在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 FROM figure   其中userid = 156 ORDER BY id DESC LIMIT 4)t1

     

MySQL说:文档

     

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

1 个答案:

答案 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`