Неправильный синтаксис рядом с "LIMIT" с использованием mssql
Я пытаюсь получить некоторые данные из базы данных, которые должны быть в топ-10 агентов с наибольшим количеством очков.
Мой Запрос:
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
внутренние соединения работают. Я нашел SELECT TOP 10
оператор sql, но.. Мне нужны 10 агентов с самым высоким баллом, а не первые 10 удостоверений личности. Как вы можете видеть, я заказываю на totalscore.
кто-нибудь знает, как это исправить?
ошибка: 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'. ) )
спасибо!
2 ответов
вы должны использовать предложение 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
чтобы ограничить строки в MSSQL, вы должны использовать SELECT TOP 10
.... вместо LIMIT 10
(limit-это предложение MySQL, а не MSSQL)