¡¡¡¡Êý¾Ý¿â±í¸ñÖо³£Óõ½ÖµÐòÁС£ÎÞÂÛÊÇ×÷ΪÊý¾Ý±¾Éí×ÔÈ»²úÉúµÄ£¬»¹ÊÇÓÉ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¡±ÖеÄÊýÁС£