以下SQL语句可在我的作业计算机上运行,​​但不能在我的家用计算机上运行;

select
    YEAR(FROM_UNIXTIME(UNIX_TIMESTAMP(time_created))) as year,
    MONTH(FROM_UNIXTIME(UNIX_TIMESTAMP(time_created))) as month,
    COUNT(id) as num
FROM orders
GROUP BY
    YEAR(FROM_UNIXTIME(UNIX_TIMESTAMP(time_created))),
    MONTH(FROM_UNIXTIME(UNIX_TIMESTAMP(time_created))) ASC
;


我因以下错误而失败;


  您的SQL语法有误。检查与您的MySQL服务器版本相对应的手册,以在第1行的“ ASC”附近使用正确的语法


我在做什么错,我该如何解决?

最佳答案

Mysql removed v8.0中asc子句中的descgroup by修饰符。您的代码很可能是为较早版本的mysql创建的。如果选中mysql v5.7 documentation for the select syntax,则修饰符仍然存在。

您需要删除asc修饰符,或者确保您的代码在仍支持该synax的mysql版本上运行。

关于mysql - SQLSTATE [42000]:语法错误或访问冲突:1064。语法中的错误查找错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59654134/

10-12 17:08
查看更多