The*_*ras 8 mysql mysql-workbench
对于以下SQL查询:
SELECT COUNT (distinct first_name) from actor;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
"SELECT" is not valid at this position for this server version, expecting: '(', WITH
Run Code Online (Sandbox Code Playgroud)
我是SQL的新手。如何解决此错误?
我将完全相同的行放在具有完全相同模式的另一台PC上,并且工作正常。
Guf*_*fus 10
您是否尝试运行查询以删除“ COUNT”和方括号之间的空格?我在MYSQL 5.7上运行了与您的查询类似的查询,但给了我一个错误,但没有该空间,查询就会运行。
让我们尝试一下:
SELECT COUNT(DISTINCT first_name) FROM actor;
Run Code Online (Sandbox Code Playgroud)
我知道这不是您所说的确切问题,但这与我收到的错误消息相同。该消息是如此通用,以至于它可以是任何东西......
所以,从一个新手到另一个:
对我来说,当我将一个查询嵌套在另一个查询中时发生了错误。我曾有一个 ; 在第一次查询结束时忘记将其取出。那抛出了错误。一旦我删除了; 在内部查询中并在新查询的末尾添加一个,错误已解决。
错误:
Select
From (....
Select
From
Where
Group by
Order ; <== offending ;
) as ...
Where
Group by
Order
Run Code Online (Sandbox Code Playgroud)
没有错误:
Select
From (....
Select
From
Where
Group by
Order
) as ...
Where
Group by
Order ; <== correct placement
Run Code Online (Sandbox Code Playgroud)
使用“db_name”解决了我的错误。尽管我已经执行了 use 'db_name' 命令;
select * FROM db_name.table_name;
Run Code Online (Sandbox Code Playgroud)