Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÔÚSQL Server2005ÖÐÓÐÈçÏÂËĸöÅÅÃûº¯Êý

ÅÅÃûº¯ÊýÊÇSQL Server2005мӵŦÄÜ¡£ÔÚSQL Server2005ÖÐÓÐÈçÏÂËĸöÅÅÃûº¯Êý£º
¡¡¡¡1.row_number
¡¡¡¡2.rank
¡¡¡¡3.dense_rank
¡¡¡¡4.ntile¡¡¡¡
¡¡¡¡ÏÂÃæ·Ö±ð½éÉÜÒ»ÏÂÕâËĸöÅÅÃûº¯ÊýµÄ¹¦Äܼ°Ó÷¨¡£ÔÚ½éÉÜ֮ǰ¼ÙÉèÓÐÒ»¸öt_table±í£¬±í½á¹¹Óë±íÖеÄÊý¾ÝÈçͼ1Ëùʾ£º
¡¡¡¡Í¼1
¡¡¡¡ÆäÖÐfield1×ֶεÄÀàÐÍÊÇint£¬field2×ֶεÄÀàÐÍÊÇvarchar
¡¡¡¡Ò»¡¢row_number
¡¡¡¡row_numberº¯ÊýµÄÓÃ;ÊǷdz£¹ã·º£¬Õâ¸öº¯ÊýµÄ¹¦ÄÜÊÇΪ²éѯ³öÀ´µÄÿһÐмǼÉú³ÉÒ»¸öÐòºÅ¡£row_numberº¯ÊýµÄÓ÷¨ÈçÏÂÃæµÄSQLÓï¾äËùʾ£º
select row_number() over(order by field1) as row_number,* fromt_table
¡¡¡¡ÉÏÃæµÄSQLÓï¾äµÄ²éѯ½á¹ûÈçͼ2Ëùʾ¡£
¡¡¡¡Í¼2
¡¡¡¡ÆäÖÐrow_numberÁÐÊÇÓÉrow_numberº¯ÊýÉú³ÉµÄÐòºÅÁС£ÔÚʹÓÃrow_numberº¯ÊýÊÇҪʹÓÃover×Ó¾äÑ¡Ôñ¶ÔijһÁнøÐÐÅÅÐò£¬È»ºó²ÅÄÜÉú³ÉÐòºÅ¡£
¡¡¡¡Êµ¼ÊÉÏ£¬row_numberº¯ÊýÉú³ÉÐòºÅµÄ»ù±¾Ô­ÀíÊÇÏÈʹÓÃover×Ó¾äÖеÄÅÅÐòÓï¾ä¶Ô¼Ç¼½øÐÐÅÅÐò£¬È»ºó°´×ÅÕâ¸ö˳ÐòÉú³ÉÐòºÅ¡£over×Ó¾äÖеÄorder by×Ó¾äÓëSQLÓï¾äÖеÄorder by×Ó¾äûÓÐÈκιØÏµ£¬ÕâÁ½´¦µÄorder by ¿ÉÒÔÍêÈ«²»Í¬£¬ÈçÏÂÃæµÄSQLÓï¾äËùʾ
select row_number() over(order by field2 desc) as row_number,*from t_table order by field1 desc
¡¡¡¡ÉÏÃæµÄSQLÓï¾äµÄ²éѯ½á¹ûÈçͼ3Ëùʾ¡£
¡¡¡¡Í¼3
¡¡¡¡ÎÒÃÇ¿ÉÒÔʹÓÃrow_numberº¯ÊýÀ´ÊµÏÖ²éѯ±íÖÐÖ¸¶¨·¶Î§µÄ¼Ç¼£¬Ò»°ã½«ÆäÓ¦Óõ½WebÓ¦ÓóÌÐòµÄ·ÖÒ³¹¦ÄÜÉÏ¡£ÏÂÃæµÄSQLÓï¾ä¿ÉÒÔ²éѯt_table±íÖеÚ2ÌõºÍµÚ3Ìõ¼Ç¼£º
with t_rowtable
as
(
¡¡¡¡select row_number() over(order by field1) as row_number,*from t_table
)
select * from t_rowtable where row_number>1 and row_number<4 order by field1
¡¡¡¡ÉÏÃæµÄSQLÓï¾äµÄ²éѯ½á¹ûÈçͼ4Ëùʾ¡£
¡¡¡¡Í¼4
¡¡¡¡ÉÏÃæµÄSQLÓï¾äʹÓÃÁËCTE£¬¹ØÓÚCTEµÄ½éÉܽ«¶ÁÕß²ÎÔÄ¡¶SQL Server2005ÔÓ̸£¨1£©£ºÊ¹Óù«Óñí±í´ïʽ£¨CTE£©¼ò»¯Ç¶Ì×SQL¡·¡£
¡¡¡¡ÁíÍâҪעÒâµÄÊÇ£¬Èç¹û½«row_numberº¯ÊýÓÃÓÚ·ÖÒ³´¦Àí£¬over×Ó¾äÖеÄorder by ÓëÅÅÐò¼Ç¼µÄorder by Ó¦Ïàͬ£¬·ñÔòÉú³ÉµÄÐòºÅ¿ÉÄܲ»ÊÇÓÐÐøµÄ¡£
¡¡¡¡µ±È»£¬²»Ê¹ÓÃrow_numberº¯ÊýÒ²¿ÉÒÔʵÏÖ²éѯָ¶¨·¶Î§µÄ¼Ç¼£¬¾ÍÊDZȽÏÂé·³¡£Ò»°ãµÄ·½·¨ÊÇʹÓõߵ¹TopÀ´ÊµÏÖ£¬ÀýÈ磬²éѯt_table±íÖеÚ2ÌõºÍµÚ3Ìõ¼Ç¼£¬¿ÉÒÔÏȲé³öǰ3Ìõ¼Ç¼£¬È»ºó½«²éѯ³öÀ´µÄÕâÈýÌõ¼Ç¼°´µ¹ÐòÅÅÐò£¬ÔÙȡǰ2Ìõ¼Ç¼£¬×îºóÔÙ½«²é³öÀ´µÄÕâ2Ìõ¼Ç¼ÔÙ°´µ¹ÐòÅÅÐò£¬¾ÍÊÇ×îÖÕ½


Ïà¹ØÎĵµ£º

SQL Server 2005 ¾µÏñ¹¹½¨ÊÖ²á

Ò»¡¢ ¾µÏñ¼ò½é
1¡¢ ¼ò½é
Êý¾Ý¿â¾µÏñÊǽ«Êý¾Ý¿âÊÂÎñ´¦Àí´ÓÒ»¸öSQL ServerÊý¾Ý¿âÒÆ¶¯µ½²»Í¬SQL Server»·¾³ÖеÄÁíÒ»¸öSQL ServerÊý¾Ý¿âÖС£¾µÏñ²»ÄÜÖ±½Ó·ÃÎÊ;ËüÖ»ÓÃÔÚ´íÎó»Ö¸´µÄÇé¿öϲſÉÒÔ±»·ÃÎÊ¡£
Òª½øÐÐÊý¾Ý¿â¾µÏñËùÐèµÄ×îСÐèÇó°üÀ¨ÁËÁ½¸ö²»Í¬µÄSQL ServerÔËÐл·¾³¡£Ö÷·þÎñÆ÷±»³ÆÎª“Ö÷»ú”£¬µÚ¶þ¸ö·þÎñÆ÷±» ......

sqlÓï¾äÓÅ»¯Ô­Ôò

1.¶àwhere£¬ÉÙhaving
whereÓÃÀ´¹ýÂËÐУ¬havingÓÃÀ´¹ýÂË×é
2.¶àunion all£¬ÉÙunion
unionɾ³ýÁËÖØ¸´µÄÐУ¬Òò´Ë»¨·ÑÁËһЩʱ¼ä
3.¶àExists£¬ÉÙin
ExistsÖ»¼ì²é´æÔÚÐÔ£¬ÐÔÄܱÈinÇ¿ºÜ¶à£¬ÓÐЩÅóÓѲ»»áÓÃExists£¬¾Í¾Ù¸öÀý×Ó
Àý£¬ÏëÒªµÃµ½Óе绰ºÅÂëµÄÈ˵Ļù±¾ÐÅÏ¢£¬table2ÓÐÈßÓàÐÅÏ¢
select * from table1;--(id,n ......

sql newid()Ëæ»úº¯Êý

´ÓA±íËæ»úÈ¡2Ìõ¼Ç¼,ÓÃSELECT TOP 10 * from ywle order by newid()
order by Ò»°ãÊǸù¾Ýijһ×Ö¶ÎÅÅÐò,newid()µÄ·µ»ØÖµÊÇuniqueidentifier ,order by newid()Ëæ»úѡȡ¼Ç¼ÊÇÈçºÎ½øÐеÄ
newid()ÔÚɨÃèÿÌõ¼Ç¼µÄʱºò¶¼Éú³ÉÒ»¸öÖµ, ¶øÉú³ÉµÄÖµÊÇËæ»úµÄ, ûÓдóСд˳Ðò. ËùÒÔ×îÖÕ½á¹ûÔÙ°´Õâ¸öÅÅÐò, ÅÅÐòµÄ½á¹ûµ±È»¾ÍÊÇÎÞÐòµ ......

¡¾×ª¡¿´ø´æÔÚÁ¿´ÊNOT EXISTSµÄSQLÓï¾äÎÊÌâ

´ø´æÔÚÁ¿´ÊNOT EXISTSµÄSQLÓï¾äÎÊÌâ
ѧÉú±ístudent (snoѧºÅ snameÐÕÃû sdeptËùÔÚϵ)
¿Î³Ì±ícourse (cno¿Î³ÌºÅ cname¿Î³ÌÃû cpnoÑ¡Ð޿κŠccreditѧ·Ö)
ѧÉúÑ¡¿Î±ísc (sn0ѧºÅ cno¿Î³ÌºÅ grade³É¼¨)
¶ÔÒÔÉÏ±í½øÐвéѰѡÐÞÁËÈ«²¿¿Î³ÌµÄѧÉúÐÕÃû
ÓÉÓÚ²»£¬Ã»ÓÐÈ«³ÆÁ¿´Ê£¬¿É½«ÌâÄ¿µÄÒâ˼ת»»ÎªµÈ¼ÛµÄ´æÔÚÁ¿´ÊÐÎʽ£º²éÑ ......

¼¸¸öɾ³ýÖØ¸´¼Ç¼µÄSQLÓï¾ä

±ÈÈçÏÖÔÚÓÐÒ»ÈËÔ±±í  £¨±íÃû£ºpeosons£©
ÈôÏ뽫ÐÕÃû¡¢Éí·ÝÖ¤ºÅ¡¢×¡Ö·ÕâÈý¸ö×Ö¶ÎÍêÈ«ÏàͬµÄ¼Ç¼²éѯ³öÀ´
select   p1.*   from   persons   p1,persons   p2   where   p1.id<>p2.id   and   p1.cardid &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ