sql overµÄ×÷Óü°Ó÷¨
RANK ( ) OVER ( [query_partition_clause] order_by_clause )
DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )
¿ÉʵÏÖ°´Ö¸¶¨µÄ×ֶηÖ×éÅÅÐò£¬¶ÔÓÚÏàͬ·Ö×é×ֶεĽá¹û¼¯½øÐÐÅÅÐò,
ÆäÖÐPARTITION BY Ϊ·Ö×é×ֶΣ¬ORDER BY Ö¸¶¨ÅÅÐò×Ö¶Î
over²»Äܵ¥¶ÀʹÓã¬ÒªºÍ·ÖÎöº¯Êý£ºrank(),dense_rank(),row_number()µÈÒ»ÆðʹÓá£
Æä²ÎÊý£ºover£¨partition by columnname1 order by columnname2£©
º¬Ò壺°´columname1Ö¸¶¨µÄ×ֶνøÐзÖ×éÅÅÐò£¬»òÕß˵°´×Ö¶Îcolumnname1µÄÖµ½øÐзÖ×éÅÅÐò¡£
ÀýÈ磺employees±íÖУ¬ÓÐÁ½¸ö²¿ÃŵļǼ£ºdepartment_id £½10ºÍ20
select department_id£¬rank£¨£© over£¨partition by department_id order by salary) from employees¾ÍÊÇÖ¸ÔÚ²¿ÃÅ10ÖнøÐÐнˮµÄÅÅÃû£¬ÔÚ²¿ÃÅ20ÖнøÐÐнˮÅÅÃû¡£Èç¹ûÊÇpartition by org_id£¬ÔòÊÇÔÚÕû¸ö¹«Ë¾ÄÚ½øÐÐÅÅÃû¡£
ÒÔÏÂÊǸöÈ˼û½â£º
sqlÖеÄoverº¯ÊýºÍrow_numbert()º¯ÊýÅäºÏʹÓ㬿ÉÉú³ÉÐкš£¿É¶ÔijһÁеÄÖµ½øÐÐÅÅÐò£¬¶ÔÓÚÏàֵͬµÄÊý¾ÝÐнøÐзÖ×éÅÅÐò¡£ÈçÏÂ±í£º
Ö´ÐÐÓï¾ä£ºselect row_number() over(order by AID DESC) as rowid,* from bbºóµÄ½á¹ûÈçÏ£º
rowid±êʶÐкÅÓÐÁË£¬Í¬Ê±AIDÒ²°´½µÐòÅÅÁС£AIDÓÐÖØ¸´µÄ¼Ç¼£¬Èç¹ûҪɾ³ýrowidΪ2Ëù¶ÔÓ¦µÄ¼Ç¼Ôò¿ÉÒÔ£º
with [a] as
(select row_number() over(order by AID desc) as rowid,* from bb)
delete from [a] where rowid=2
Èç¹û²é¿´rowid Ϊ5Ëù¶ÔÓ¦µÄ¼Ç¼µÄÐÅÏ¢£¬¿ÉÒÔ£º
with [b] as
(select row_number() over(order by AID desc) as rowid,* from bb)
select * from [b] where rowid=5
×¢Ò⣺
overÀïµÄorderÖ»Äܲé²éѯÀïµÄÔʼÊý¾Ý½øÐвÙ×÷£¬²»»á¶Ô¼ÆËã³öµÄÐÂÖµ»òÐÂ×Ö¶ÎÆð×÷Óá£
msdnÖеÄ˵·¨ÈçÏ£º
<ORDER BY ×Ó¾ä> Ö»ÄÜÒýÓÃͨ¹ý from ×Ó¾ä¿ÉÓõÄÁС£<ORDER BY ×Ó¾ä>²»ÄÜÓë¾ÛºÏ´°¿Úº¯ÊýÒ»ÆðʹÓá£
Ïà¹ØÎĵµ£º
×î¼òµ¥µÄSQL ServerÊý¾Ý¿â´æ´¢¹ý³Ì·ÖÒ³
·¢²¼Ê±¼ä£º2008.07.02 05:11 À´Ô´£ºÈüµÏÍø ×÷ÕߣºAlizze
¡¾ÈüµÏÍø£IT¼¼Êõ±¨µÀ¡¿×î¼òµ¥µÄSQL ServerÊý¾Ý¿â´æ´¢¹ý³Ì·ÖÒ³:
1.Ö»ÐèÒªÌṩSqlÓï¾äºÍÿҳµÄ¼Ç¼Êý,Ò³Êý¾Í¿ÉÒÔÁË
2,Ëٶȳ¬¿ìÓ´,100W¼Ç¼1~3Ãë¾Í·Ö³öÀ´ÁË
......
Sql Server ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GE ......
ÎÒÃÇÔÚ¹¤×÷ÖÐÏ£ÍûÄÜ¿´¼û×Ô¼ºÔËÐеÄDMLÓï¾äµÄÔËÐб¨¸æ£¬ÀýÈçselect,delete,update,megreºÍinsertÓï¾äÔËÐкóµÄÇé¿ö£¬ÒÔÓÃÀ´¼àÊӺ͵÷ÓÅÓï¾ä¡£ÎÒÃÇͨ³£ÔÚsql*plusÖÐʹÓÃset autotrace on¿ªÆô¡£
ÄÇautotraceÊÇÈçºÎ°²×°µÄÄØ£¿thomas kyteµÄ´ó×÷Öиø³öÁËÏêϸµÄ·½·¨ºÍ½âÊÍ£º
& ......
(1)¶þ½øÖÆÊý¾ÝÀàÐÍ
¡¡¡¡¶þ½øÖÆÊý¾Ý°üÀ¨ Binary¡¢Varbinary ºÍ Image
¡¡¡¡Binary
Êý¾ÝÀàÐͼȿÉÒÔÊǹ̶¨³¤¶ÈµÄ(Binary),Ò²¿ÉÒÔÊDZ䳤¶ÈµÄ¡£
¡¡¡¡Binary[(n)] ÊÇ n λ¹Ì¶¨µÄ¶þ½øÖÆÊý¾Ý¡£ÆäÖУ¬n
µÄȡֵ·¶Î§ÊÇ´Ó 1 µ½ 8000¡£Æä´æ´¢ñ¿µÄ´óСÊÇ n + 4 ¸ö×Ö½Ú¡£
¡¡¡¡Varbinary[(n)] ÊÇ n
λ±ä³¤¶ÈµÄ¶þ½øÖÆÊý¾Ý¡£ÆäÖУ ......
ORDER BY ×Ӿ䰴һÁлò¶àÁУ¨×î¶à 8,060 ¸ö×Ö½Ú£©¶Ô²éѯ½á¹û½øÐÐÅÅÐò¡£ÓÐ¹Ø ORDER BY ×Ó¾ä×î´ó´óСµÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄ ORDER BY ×Ó¾ä (Transact-SQL)¡£
Microsoft SQL Server 2005 ÔÊÐíÔÚ from ×Ó¾äÖÐÖ¸¶¨¶Ô SELECT ÁбíÖÐδָ¶¨µÄ±íÖеÄÁнøÐÐÅÅÐò¡£ORDE ......