我有包含用户数据的表格,我需要在第一个用户ex之后只获得最后2个用户
id-username
1-john
2-fredrek
3-sara
4-sarah
我需要获取fredrek, sara
- 如何在SQL Server中执行此操作?
我知道用MySQL做这个我使用LIMIT1,2但是使用SQL Server我不能
答案 0 :(得分:2)
要避免使用2 x TOP,您可以使用ROW_NUMBER(注意:您不能在单个语句的WHERE子句中直接使用ROW_NUMBER输出)
;WITH cRN AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY id) AS rn,
username
FROM
mytable
)
SELECT username
FROM cRN
WHERE rn BETWEEN 2 AND 3
答案 1 :(得分:1)
您可以在WHERE子句中使用TOP限制,而不是使用第一个寄存器
SELECT TOP 2 *
FROM MyTable
WHERE Id > 1
答案 2 :(得分:0)
您可以在T-SQL中使用TOP:
SELECT TOP 2 FROM table_name
答案 3 :(得分:0)
使用SQL Server,you can use the TOP command。
答案 4 :(得分:0)
您必须进行双重查询:
select * from ( select top 10 * from (
select top 20 * from table_name order by 1 asc
) as tb_name order by 1 desc
) as tb_name_last
order by whathever;