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 ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
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 ......
1.ʹÓÃCÓïÑÔÀ´²Ù×÷SQL SERVERÊý¾Ý¿â,²ÉÓÃODBC¿ª·ÅʽÊý¾Ý¿âÁ¬½Ó½øÐÐÊý¾ÝµÄÌí¼Ó,ÐÞ¸Ä,ɾ³ý,²éѯµÈ²Ù×÷¡£
step1:Æô¶¯SQLSERVER·þÎñ,ÀýÈç:HNHJ,¿ªÊ¼²Ëµ¥ ->ÔËÐÐ ->net start mssqlserver
step2:´ò¿ªÆóÒµ¹ÜÀíÆ÷,½¨Á¢Êý¾Ý¿âtest,ÔÚtest¿âÖн¨Á¢test±í(a varchar(200),b varchar(200))
step3:½¨Á¢ÏµÍ³DSN,¿ªÊ¼²Ëµ ......
ÎÒÃÇÔÚ¹¤×÷ÖÐÏ£ÍûÄÜ¿´¼û×Ô¼ºÔËÐеÄ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
λ±ä³¤¶ÈµÄ¶þ½øÖÆÊý¾Ý¡£ÆäÖУ ......
ÓÃEXPLAIN PLAN ·ÖÎöSQLÓï¾ä
http://blog.csdn.net/kj021320/archive/2006/08/19/1096021.aspx
ÈçºÎÉú³Éexplain plan?
¡¡¡¡½â´ð:ÔËÐÐutlxplan.sql. ½¨Á¢plan ±í
¡¡¡¡Õë¶ÔÌØ¶¨SQLÓï¾ä£¬Ê¹Óà explain plan set statement_id = 'tst1' into plan_table
¡¡¡¡ÔËÐÐutlxplp.sql »ò utlxpls.sql²ì¿´explain plan
EXPLAIN PLA ......