当前位置: 代码迷 >> Sql Server >> select 怎么从第二个开始选
  详细解决方案

select 怎么从第二个开始选

热度:16   发布时间:2016-04-24 09:30:19.0
select 如何从第二个开始选
ID      username

1          naming
2           huxing
3          yuiming
4         zhangming
5          liping

我要按照ID的升序开始选,但要从第二个开始,请问怎么写SELECT ?

------解决思路----------------------
参照以下code,SQL Server 2012 新增了一个OFFSET从句,很好用。 2012以下版本只能通过row_number排好序再甄选了。

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

------解决思路----------------------
加个where条件不就行了???
select * from tb where iID<>(select Min(ID) from tb) order by ID
  相关解决方案