我正在尝试从数据库中检索一些数据,这些数据需要是得分最高的代理商的前十名.
我的查询:
SELECT AgentScores.agentID,
AgentScores.totalScore,
Agents.firstname,
Agents.lastname
FROM AgentScores
INNER JOIN Agents ON AgentScores.AgentId=Agents.Agent_id
ORDER BY AgentScores.totalScore DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
内连接正在工作.我找到了SELECT TOP 10sql语句,但是......我想要10个代理人得分最高而不是前10个id.正如你所看到的,我正在订购总计.
任何人都有一个线索如何解决这个问题?
错误: Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 102 [code] => 102 [2] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near 'LIMIT'. [message] => [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near 'LIMIT'. ) )
谢谢!
Gia*_*mbo 12
你必须使用TOP子句而不是LIMIT
SELECT TOP 10 AgentScores.agentID, AgentScores.totalScore, Agents.firstname, Agents.lastname FROM AgentScores INNER JOIN Agents ON AgentScores.AgentId=Agents.Agent_id ORDER BY AgentScores.totalScore DESC
Run Code Online (Sandbox Code Playgroud)