Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql选择5个最高值_Sql_Sql Server_Count_Select Query - Fatal编程技术网

sql选择5个最高值

sql选择5个最高值,sql,sql-server,count,select-query,Sql,Sql Server,Count,Select Query,我正在尝试选择具有最高计数值的5行 这是我的疑问: string sql = "SELECT top 5 count FROM Likes ORDER BY COUNT(*) DESC"; 它只是抛出一个错误代码 列“Likes.count”在选择列表中无效,因为它不是 包含在聚合函数或GROUP BY子句中 这是为了我明天要介绍的一个项目 在SQL Server上,只需执行以下操作: SELECT TOP 5 * FROM Likes ORDER BY [Count] DESC

我正在尝试选择具有最高计数值的5行

这是我的疑问:

string sql = "SELECT   top 5  count FROM  Likes  ORDER BY COUNT(*) DESC";
它只是抛出一个错误代码

列“Likes.count”在选择列表中无效,因为它不是 包含在聚合函数或GROUP BY子句中


这是为了我明天要介绍的一个项目

在SQL Server上,只需执行以下操作:

 SELECT TOP 5 * FROM Likes ORDER BY [Count] DESC
这假设您的Likes表已经包含一个名为[Count]的列,这意味着您不需要自己对记录进行计数,而Count*就是这样做的。

您不应该在这里使用Count*作为order by

count是一个保留字,这就是为什么您应该避免在列名中使用它们的原因。如果不想重命名列,可以对其进行转义,不同的dbms可能会影响执行此操作的人员。在SSM中,您将使用方括号

string sql = "SELECT   top 5  [count] FROM  Likes  ORDER BY COUNT(*) DESC";

什么是最高计数?如果可能,提供示例数据和数据结构您使用的是什么RDBMS?SQL Server、Oracle、MySQL、PostgreSQL?Transact-SQL,因为他使用了TOP:@DikaArtaKarunia我将在该表中添加更多列,我想得到count值最高的5列这不是count,这只是名称。将其作为“price”使用子查询填充5个最高价格首先选择id,然后选择带有筛选id的主表,例如select*from table,其中id inselect top 5 id from table order by price asc。
string sql = "SELECT   top 5  [count] FROM  Likes  ORDER BY COUNT(*) DESC";