如何在SQL Server中获得最低50%的选择查询?

Rus*_*uss 1 sql-server-2008

在SQL服务器中我可以说:

Select top 50 percent
Run Code Online (Sandbox Code Playgroud)

怎么说底部50%?

编辑 - 为了一个有趣的问题,如果我们假设他有一个主键表,但希望底部50%按升序主键顺序排序.实现这一目标的最有效方法是什么?

小智 23

    SELECT * FROM
    (
        SELECT TOP 50 PERCENT *

        FROM [Table]

        ORDER BY [Field] DESC
   )
   ORDER BY [Field] ASC
Run Code Online (Sandbox Code Playgroud)

  • 有趣的是你没有提供解决方案,它返回原始排序顺序的下半部分.来自我的+1. (3认同)

Cod*_*y C 14

为什么不改变排序顺序并保持TOP.这不会完成同样的事情吗?