2017-08-16 80 views

回答

1

可以使用ROW_NUMBER创建功能:

WITH CTE AS(SELECT RN = ROW_NUMBER() OVER (ORDER BY Column ASC), t.* FROM dbo.Table t) 
SELECT * FROM CTE 
WHERE RN = (SELECT COUNT(*) FROM dbo.Table)/2 + 1 
0

你可以试试这个:

SELECT TOP 3 * FROM tab EXCEPT SELECT TOP 2 * FROM tab 
0

不产生和备用字段使用WITH TIES条款

另一种选择
Select Top 1 with ties * 
From YourTable 
Order By case when row_number() over (Order By SomeValue) = (Select count(*) From YourTable)/2 + 1 then 1 else 2 end