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