Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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中的100个最低值?_Sql_Sql Server_Sql Server 2008 R2 - Fatal编程技术网

选择SQL中的100个最低值?

选择SQL中的100个最低值?,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,我到处找了好一阵子,好像到处都找不到。我想知道如何在一列中选择100个最高值和100个最低值?最小值函数仅选择最低值,最大值函数选择最高值 有谁知道你是怎么做到的 SQL Server 前100名最高 SELECT TOP 100 * FROM MyTable ORDER BY MyCol DESC SELECT * FROM MyTable ORDER BY MyCol DESC LIMIT 100 前100名最低 SELECT TOP 100 * FROM MyTable ORDER B

我到处找了好一阵子,好像到处都找不到。我想知道如何在一列中选择100个最高值和100个最低值?最小值函数仅选择最低值,最大值函数选择最高值

有谁知道你是怎么做到的

SQL Server

前100名最高

SELECT TOP 100 * FROM MyTable
ORDER BY MyCol DESC
SELECT * FROM MyTable
ORDER BY MyCol DESC LIMIT 100
前100名最低

SELECT TOP 100 * FROM MyTable
ORDER BY MyCol ASC
SELECT * FROM MyTable
ORDER BY MyCol ASC  LIMIT 100
MySQL

前100名最高

SELECT TOP 100 * FROM MyTable
ORDER BY MyCol DESC
SELECT * FROM MyTable
ORDER BY MyCol DESC LIMIT 100
前100名最低

SELECT TOP 100 * FROM MyTable
ORDER BY MyCol ASC
SELECT * FROM MyTable
ORDER BY MyCol ASC  LIMIT 100

您可以按如下方式进行操作

最高的

最低的

编辑

对于SQL Server,将select*from替换为select TOP 100*from


SELECT TOP子句用于指定要返回的记录数。

使用升序和降序排序,如果使用Sql server,则将输出限制为100 您可以订购查询说明并选择top 1000,如:

select top(1000) * from mytable order by value desc
试试这个:

DECLARE @V_MaxNo INT; 
SELECT @V_MaxNo = COUNT(1) FROM TABLE_NAME WHERE (CONDITION_PART_AS_REQUIRED); 
SELECT COLUMN_LIST
FROM (SELECT ROW_NUMBER() OVER (ORDER BY [Order_by_column_list_with_ASC/DESC]) rowNo, COLUMN_LIST 
      FROM TABLE_NAME) A 
WHERE (100 - rowNo) >= 0 or (@V_MaxNo - rowNo) < 100

这里有另一种独立于db引擎的方法

马克斯


mysql还是sql server?那么您希望如何处理关系呢?SQL Server 2008 r2,我只想获得列中的100个最低值,然后我将按desc排序。关于@ypercube对关系的评论,请参阅SQL Server中的排名函数,特别是RANK和DENSE_RANK函数,因为它们让您可以控制在tie中发生的事情:SQL Server不支持LIMIT子句