在 mysql 中使用 row_number() 时 CTE 出错。我不知道为什么会出现错误

Error in CTE when using row_number() in mysql. I don't know why the error is showing up

提问人:Kartike Raj 提问时间:4/28/2023 最后编辑:nbkKartike Raj 更新时间:4/28/2023 访问量:41

问:

WITH
team as (
        select 
        row_number() over() as id,
        team_code,
        team_name
        from teams
)

我收到此错误:- [12:06:32 WITH team as ( select row_number() over() as id, team_code, team_name from teams ) 错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 8 行的 '' 附近使用的正确语法 0.000 秒]

我不知道为什么会出现错误。

mysql 语法错误 common-table-expression mysql-error-1064 行号

评论

1赞 nbk 4/28/2023
好的 xxou 有一个错误,你没有向我们展示实际的查询,如果这是问题,你必须检查手册with cte as (select..) select a from cte
1赞 Ponder Stibbons 4/28/2023
Row_number没有不是确定性的,但应该有效。正如你在这个dbfiddle中看到的那样。你的代码中一定有其他的东西,你没有显示。order by
0赞 Solarflare 4/28/2023
Ponder Stibbons 没有足够强调重要的部分:你的代码中一定有其他的东西,而你没有展示。如果这是你的整个代码(你的错误消息表明它是完整的),它就不完整,你必须在代码之后添加一些东西,例如,像他添加的小提琴一样的东西。select * from team
0赞 Kartike Raj 4/29/2023
我正在创建一个 CTE,错误仅出在此代码上。
0赞 Kartike Raj 4/29/2023
我明白了,伙计们,我没有使用 select 语句来使用 CTE,这就是它显示错误的原因

答: 暂无答案