34,588
社区成员
发帖
与我相关
我的任务
分享
SELECT TOP 1 * FROM TB
WHERE ID>1
ORDER BY ID
是这个意思?
--SQL 2012
select * from TB order by ID offset 1 rows fetch next 1000000 rows only -- 注意offset 默认是从0开始算第一行的
--SQL2005/08/08R2
select ID,username from
(
select ID,username,row_number() over (order by ID) as num from TB order by id
) as t
where num>=2
--SQL2000
select * from TB where ID not in (select top 1 ID from TB order by ID) order by ID
CREATE TABLE TBL
(
id INT PRIMARY KEY,
name VARCHAR(99)
);
INSERT INTO TBL
SELECT 1 AS ID ,N'naming' AS NAME UNION ALL
SELECT 2 ,N'huxing' UNION ALL
SELECT 3 ,N'yuiming' UNION ALL
SELECT 4 ,N'zhangming' UNION ALL
SELECT 5 ,N'liping' ;
--2008
;WITH CTE AS
(
SELECT id,name,ROW_NUMBER() OVER(ORDER BY id) AS rownum FROM TBL
)
SELECT id,name FROM CTE where rownum>2
--2012 onwards 从哪行开始取,取几行
SELECT * FROM TBL ORDER BY ID OFFSET 1 ROWS FETCH NEXT 3 ROWS ONLY
DROP TABLE TBL