SQL Server ·ÖÒ³ ·½·¨1£º
ÊÊÓÃÓÚ SQL Server 2000/2005 SELECT TOP Ò³´óС * FROM table1 WHERE id NOT IN (
SELECT TOP Ò³´óС*(Ò³Êý-1) id FROM table1 ORDER BY id ) ORDER BY id
·½·¨2£º
ÊÊÓÃÓÚ SQL Server 2000/2005 SELECT TOP Ò³´óС * FROM table1 WHERE id > (
SELECT ISNULL(MAX(id),0) FROM (
SELECT TOP Ò³´óС*(Ò³Êý-1) id FROM table1 ORDER BY id ) A ) ORDER BY id
·½·¨3£º
ÊÊÓÃÓÚ SQL Server 2005 SELECT TOP Ò³´óС * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ) A
WHERE RowNumber > Ò³´óС*(Ò³Êý-1)
˵Ã÷£¬Ò³´óС£ºÃ¿Ò³µÄÐÐÊý£»Ò³Êý£ºµÚ¼¸Ò³¡£Ê¹ÓÃʱ£¬Çë°Ñ¡°Ò³´óС¡±ºÍ¡°Ò³´óС*(Ò³Êý-1)¡±Ìæ»»³ÉÊý×Ö¡£ Êý¾ÝµÄÓÅ»¯
ÆäËüµÄ·½°¸£ºÈç¹ûûÓÐÖ÷¼ü£¬¿ÉÒÔÓÃÁÙʱ±í£¬Ò²¿ÉÒÔÓ÷½°¸Èý×ö£¬µ«ÊÇЧÂÊ»áµÍ¡£ ½¨ÒéÓÅ»¯µÄʱºò£¬¼ÓÉÏÖ÷¼üºÍË÷Òý£¬²éѯЧÂÊ»áÌá¸ß¡£ ͨ¹ýSQL ²éѯ·ÖÎöÆ÷£¬ÏÔʾ±È½Ï£ºÎҵĽáÂÛÊÇ:
·ÖÒ³·½°¸¶þ£º(ÀûÓÃID´óÓÚ¶àÉÙºÍSELECT TOP·ÖÒ³£©Ð§ÂÊ×î¸ß£¬ÐèҪƴ½ÓSQLÓï¾ä ·ÖÒ³·½°¸Ò»£º(ÀûÓÃNot InºÍSELECT TOP·ÖÒ³) ЧÂÊ´ÎÖ®£¬ÐèҪƴ½ÓSQLÓï¾ä ·ÖÒ³·½°¸Èý£º(ÀûÓÃSQLµÄÓÎ±ê´æ´¢¹ý³Ì·ÖÒ³) ЧÂÊ×î²î£¬µ«ÊÇ×îΪͨÓÃ
ÆäËûµÄ·½Ê½
1.Èç¹ûÓÐÒ»¸ö×Ô¶¯Ôö³¤µÄid×ֶΣ¬Ôò£º
¶¨Òå¶þ¸ö±äÁ¿£ºPage,PageCount
Select top PageCount * From [tb_code] Where id>=(select min(id) from (select top (Page-1)*PageCount+1 id from [tb_code] order by id desc) as t) order by id desc
ÔÀí£¬¸ù¾ÝID¼ÆËã³ö(Page-1)Ò³µÄ×îСֵ£¬È»ºóÓÃTOP¹Ø¼ü×Ö¼°¿É½â¾öÎÊÌâ¡£
2.SELECT TOP 10 id,username From [tb_code] where id not in ( SELECT TOP 20000 id FROM tb_code ORDER BY username)
Óŵ㣺´Ë·½·¨¿ÉÒÔ¸ù¾Ý±íÖеÄÈÎÒ»¸ö×Ö¶ÎÅÅÐò£¬ÔÚÒ»¸ö±íÖÐÓм¸°ÙÍòÌõ¼Ç¼ʱ£¬ÈÔÓкܸߵÄЧÂÊ£¬È±µãÊÇÔÚ´óÊý¾ÝÁ¿µÄÇé¿öÏÂЧÂÊÂÔÑ·ÓÚµÚÒ»ÖÖ
3.SELECT TOP 10 id,username From
(SELECT TOP page*pagecount id, username FROM tb_code ORDER BY username) DERIVEDTBL ORDER BY username DESC
Óŵ㣺´Ë·½·¨¿ÉÒÔ¸ù¾Ý±íÖеÄÈÎÒ»¸ö×Ö¶ÎÅÅÐò. ȱµãÊÇЧÂÊ×îµÍ
ÔÚSQL Server 2005ÖÐʹÓÃrownum·ÖÒ³£¨rownumº¯ÊýʹÓ÷½·¨½éÉÜ£©
±È·½ËµÒª´Ó±íUSERÖв鿴µÚ10µ½µÚ20ÌõÖ®¼äµÄÊý¾Ý£¬ÄÇôSQLÊÇÕâÑùʵÏÖµÄ
SELECT * FROM (SELECT rownum rowcount,USER.* FROM USER) WHERE ROWCOUNT >=10 AND ROWCOUNT <20
ÆäÖк¯ÊýROWNUM£¬ÓÃÀ´¼Ç¼ÿһÌõÊý¾ÝËùÔÚµÄλÖá£