ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÀûÓÃOracle½âÎöº¯Êý¿ìËÙ¼ì²éÐòÁмä϶

·¢²¼Ê±¼ä:2007-04-12 00:17:49À´Ô´:ºìÁª×÷Õß:Ptosassy
¡¡¡¡Êý¾Ý¿â±í¸ñÖо­³£Óõ½ÖµÐòÁС£ÎÞÂÛÊÇ×÷ΪÊý¾Ý±¾Éí×ÔÈ»²úÉúµÄ£¬»¹ÊÇÓÉOracle µÄÐòÁжÔÏó·ÖÅäµÄ£¬ËüµÄÄ¿µÄ¾ÍÊÇÓÃÒ»¸öΨһµÄ¡¢µÝÔöµÄÊý×Ö¸øÿһÐбàºÅ¡£

¡¡¡¡ÔÚ±àºÅµÄ¹ý³ÌÖУ¬²úÉú¼ä϶µÄÔ­Òò¶àÖÖ¶àÑù¡£Èç¹ûÒ»¸ö´æ´¢¹ý³Ì´ÓÒ»¸öÐòÁÐÖÐÌôѡij¸öÊý×Ö£¬¶¨Îª±¾µØ±äÁ¿£¬µ«ÊÇ´ÓÀ´²»ÓÃËü£¬Õâ¸öÊý×־ͶªÊ§ÁË¡£Ëü½«²»ÄÜÔÙ·µ»Øµ½Ô­ÐòÁÐÖУ¬½á¹û¾ÍÔì³ÉÊýÖµÐòÁÐÖдæÔÚÒ»¸ö¼ä϶¡£¹ØϵÐÍÊý¾Ý¿âÄ£ÐÍÖв»±Øµ£ÐÄÕâÒ»µã¡£µ«ÊÇÓÐʱºòÈËÃÇÔÚÒâÕâÒ»µã£¬ÕâЩÈËÏëÖªµÀÊÇÄÄЩÊý×Ö¶ªÊ§ÁË¡£

¡¡¡¡Ò»¸öÏÔ¶øÒ×¼ûµÄ·½Ê½¾ÍÊÇÓÃPL/SQL:ÔÚÒÑÅÅÐòÖ¸ÕëÖÐÑ­»·£¬²¢ÇÒÓÃÒ»¸ö±¾µØ±äÁ¿½øÐд洢£¬°Ñÿһ¸öÊýÖµÓëÆäÇ°Ò»ÐеĽøÐбȽϡ£ÕâÖÖ·½·¨µÄÎÊÌâÔÚÓÚЧÂʺܵͣ¬ËٶȺÜÂý¡£ÁíÍâÒ»¸ö²»³£ÓõĽâ¾ö°ì·¨¾ÍÊǶԱí¸ñ×öÒ»¸ö×Ժϲ¢£¬ÊµÖÊÒ²¾ÍÊÇÓÃijÖÖ±ê׼ʹÿһÐÐÓëÆäÇ°Ò»ÐÐÏàÆ¥Åä¡£ÕâÖÖ·½·¨ºÜÄѱàд´úÂë¡£

¡¡¡¡OracleµÄ½âÎöº¯ÊýΪ¼ì²é¼ä϶ÌṩÁËÒ»ÖÖÒª¿ì½ÝµÃ¶àµÄ·½·¨¡£ËüÃÇʹÄãÔÚʹÓÃÍêÕûµÄ¡¢ÃæÏò¼¯ºÏµÄSQL´¦ÀíµÄͬʱ£¬ÈÔÈ»Äܹ»¿´µ½ÏÂÒ»¸öÐÐ(LEAD)»òÕßÇ°Ò»ÐÐ(LAG)µÄÊýÖµ¡£

¡¡¡¡ÏÂÃæÊÇÕâЩº¯ÊýµÄ¸ñʽ£º

¡¡¡¡{LEAD | LAG} (value_expression, offset, default)
¡¡¡¡OVER ([PARTITION BY expr] ORDER BY expr)

¡¡¡¡Í¨³££¬value_expressionÊÇÒ»¸öÄãÏëÒª¼ìË÷µÄÊý¾ÝÁС£²ÎÊýoffsetÊÇÖ¸ÄãÏëÒªÍùÇ°»òÍùºó¶ÁÈ¡µÄÐÐÊý£¬defaultÔòÊǵ½´ïÈÎÒâÒ»¸ö·ÖÇøµÄ¿ªÍ·»òÕß½á⣨¼´Ã»ÓÐÓëÖ®ÏàÆ¥ÅäµÄÐУ©Ê±·µ»ØµÄÊýÖµ¡£

¡¡¡¡½Å±¾ÊÇһϵÁдӹ¤×÷µØ´«¸ÐÆ÷×Ô¶¯ÊÕ¼¯À´µÄÊý¾Ý¡£´«¸ÐÆ÷×°ÖÃ×Ô¶¯¸øÿһ¸ö²âÁ¿Öµ±àÉϺţ¬ÎÒÃÇÒªÕÒ³ö½á¹ûÓÐûÓÐȱʧ¡£

¡¡¡¡ÎÒÃǽ«Êý¾Ý°´ÕÕ²âÁ¿Öµ±àºÅÅÅÐò£¬ÔËÓÃLAGº¯Êý£¬°ÑÆ«ÒÆÁ¿ÉèÖÃΪ1£¬Ê¹µÃÿһÐÐÓëÆäÇ°Ò»ÐжÔÓ¦ÆðÀ´¡£µÚÒ»Ðн«Ã»ÓжÔÓ¦Á¿£¬ËùÒÔÏàÓ¦µØ£¬½«·µ»ØĬÈÏÖµ0¡£ÒòΪ¼ä϶²»¿ÉÄÜ·¢ÉúÔÚµÚÒ»ÐУ¬ËùÒÔÎÒÃÇͨ¹ý֮ǰҪÇó²âÁ¿Öµ´óÓÚ0¶ø½«Æäɾ³ý¡£

¡¡¡¡Ê£ÏµľÍÊÇÒ»×éÐéÄâµÄÐУ¬ÏÔʾµÄÊÇÇ°Ò»ÐеIJâÁ¿Öµ±àºÅ£¨¡°before_gap¡±£©ºÍµ±Ç°ÐеIJâÁ¿Öµ±àºÅ£¨¡°after_gap¡±£©¡£Èç¹ûÁ½ÕßÖ®²î´óÓÚ1£¬¾Í˵Ã÷ÕâÁ½ÐÐÖ®¼ä´æÔÚ¼ä϶¡£

¡¡¡¡Í¬Ê±Ò²Òª×¢Òâµ½£¬WITH×Ó¾äÔÚ²éѯ¿ªÊ¼µÄʱºò°Ñ½âÎö×Ó²éѯÃüÃûΪ¡°aquery¡±¡£ÄÇôÎÒÃǾͿÉÒÔÔÚÖ÷SELECT Óï¾äÖеÄWHERE ×Ó¾äÖзÃÎÊ¡°aquery¡±ÖеÄÊýÁС£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ