sql выберите 5 самых высоких значений
Я пытаюсь выбрать 5 строк с самым высоким count
значение
Это мой запрос:
string sql = "SELECT top 5 count FROM Likes ORDER BY COUNT(*) DESC";
Это просто бросает код ошибки, который
Столбец Likes.count недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY.
Это для проекта, который я должен представить завтра...
3 ответа
На SQL Server просто сделайте это:
SELECT TOP 5 * FROM Likes ORDER BY [Count] DESC
Это предполагает, что ваш Likes
-таблица уже содержит столбец с именем [Count]
Это означает, что вам не нужно считать записи самостоятельно (вот что COUNT(*)
делает).
Вы не должны использовать COUNT(*)
здесь для order by
,
SELECT top 5 [count] FROM Likes ORDER BY [Count] DESC
count
это зарезервированное слово, поэтому вы должны избегать использования их для имен столбцов. Если вы не хотите переименовывать столбец, вы можете избежать его, разные dbms могут повлиять на то, кто вы это делаете. В ssms вы бы использовали квадратные скобки.
string sql = "SELECT top 5 [count] FROM Likes ORDER BY COUNT(*) DESC";