Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Incorrect syntax near 'LIMIT' using mssql

Tags:

php

sql-server

I'm trying to retrieve some data from the database, which need to be the top 10 of the agents with the highest score.

My Query:

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

The inner joins are working. I've found the SELECT TOP 10 sql statement but.. I want the 10 agents with the highest score and not the first 10 id's. As you can see I'm ordering on the totalscore.

Anyone has a clue how to fix this?

Error: 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'. ) )

Thank you!

like image 866
Peurr Avatar asked Jul 29 '15 15:07

Peurr


1 Answers

You have to use TOP clause instead of 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
like image 101
Gianluca Colombo Avatar answered Sep 21 '22 11:09

Gianluca Colombo