sql select 5 个最高值
sql select 5 higest values
我正在尝试 select 具有最高 count
值的 5 行
这是我的查询:
string sql = "SELECT top 5 count FROM Likes ORDER BY COUNT(*) DESC";
它只是抛出一个错误代码
Column 'Likes.count' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY clause.
这是我明天要展示的项目...
在 SQL 服务器上,只需执行以下操作:
SELECT TOP 5 * FROM Likes ORDER BY [Count] DESC
这假设您的 Likes
-table 已经包含一个名为 [Count]
的列,这意味着您不需要自己计算记录(这就是 COUNT(*)
)。
你不应该在这里为 order by
使用 COUNT(*)
。
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";
我正在尝试 select 具有最高 count
值的 5 行
这是我的查询:
string sql = "SELECT top 5 count FROM Likes ORDER BY COUNT(*) DESC";
它只是抛出一个错误代码
Column 'Likes.count' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
这是我明天要展示的项目...
在 SQL 服务器上,只需执行以下操作:
SELECT TOP 5 * FROM Likes ORDER BY [Count] DESC
这假设您的 Likes
-table 已经包含一个名为 [Count]
的列,这意味着您不需要自己计算记录(这就是 COUNT(*)
)。
你不应该在这里为 order by
使用 COUNT(*)
。
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";