SQL ·ÖÒ³

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£¬ÓÃÀ´¼Ç¼ÿһÌõÊý¾ÝËùÔÚµÄλÖá£

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)