pl/sql - Oracle / ¿ª·¢
¸ø³öÁ½¸ö±í: membres: numero (Ö÷¼ü) name Emprunts: numero (Ö÷¼ü) membre (Íâ¼ü¶ÔÓ¦membresµÄnumero) creele (´´½¨Ê±¼ä) ÒªÇóʹÓÃpl/sqlÓï¾ä¿éÏÔʾ×î½ü10¸öÔÂÒÔÀ´ÔÚemprunts±íÀïÃæ¼Ç¼ǰÈý¸ö×î¶àµÄÈ˵ÄÃû×Ö(name)ÒÔ¼°Ç°Èý¸ö×îÉÙµÄÈ˵ÄÃû×Ö. ±¾È˸սӴ¥ÕâÒ»¿é, ²»ÊǺÜÃ÷°×, Ï£Íû¸÷λ¸ßÊÖÖ¸µãÖ¸µã. лл
Oracle¿ª·¢×îºÃÊÇ£º ÓÅÏÈÑ¡ÔñSQL£¬SQL¸ã²»¶¨ÔÙÓÃPL/SQL,PL/SQL¸ã²»¶¨ÓÃÆäËûµÄ±ÈÈçÍⲿ¹ý³ÌÖ®ÀàµÄ ÓÃSQL½â¾öºÃ´¦¶à¶à WITH TEMP AS (SELECT membre ,COUNT(*) AS CNT from Emprunts GROUP BY membre) --ÏÈÈ¡×î¶àÈý¸ö SELECT name from TEMP T,membres M WHERE T.membre=M.numero AND ROWNUM<=3 ORDER T.CNT ASC UNION ALL --ÏÈÈ¡×î¶àÈý¸ö SELECT name from TEMP T,membres M WHERE T.membre=M.numero AND ROWNUM<=3 ORDER T.CNT DESC Ö±½ÓÒ»ÌõÓï¾ä¸ã¶¨£¬²»Òªunion allµÄ£¬Ó÷ÖÎöº¯Êý ÃèÊö²»ÊǺÜÇå³þ£¬×îºÃÁоٳöÊý¾ÝºÍÏëÒªµÄ½á¹ûÒýÓà ÕâÖÖ¶«Î÷»¹ÒªÓÃPL/SQL£¿£¿£¿£¿ Ö±½Ótop-n·ÖÎöº¯Êý½â¾ö ÓÐÕâ¸ö¶«¶«?³ý·ÇÄã×Ô¼ºÐ´ Ϊʲô²»¿ÉÒÔÄØ£¿£¿Çë¿´£º ²»¿¼ÂÇÔÚµÚ2¸ö±íÖÐûÓмǼµÄ£¬Â¥Ö÷µÄÒâ˼ÊÇֻѡÓмǼµÄ£¬Èç¹ûֻѡÔñ6¸ö£¬Ç°3ºÍºó3£¬ÄÇôʹÓÃrow_number,Ïàͬ¼Ç¼ÊýµÄËæ±ãѡһ¸ö Èç¹ûÏàͬ¼Ç¼ÊýµÄÔÚǰ3ºÍºó3ÖУ¬Ò²ÒªÑ¡ÉÏÓÃdense_rank,¿´²âÊÔ£¬Ò»ÌõÓï¾ä»¹¸ã²»¶¨ÕâÍæÒ⣬ÄãÖ»ÒªÃû×ֵϰ£¬°ÑÆäËûµÄÈ¥µô£¬¿ÉÄÜǰºÍºó3ÖÐÓÐÖØ¸´µÄ£¬Èç¹ûÄãÖ»ÒªÃû×Ö²»ÒªÖظ´µ
Ïà¹ØÎÊ´ð£º
ÎÒÊÇÓÃÔ¶³Ì×ÀÃæÁ¬²Ù×÷·þÎñÆ÷ÉϵÄÊý¾Ý¿â¡£ ÔÚ´´½¨Ò»¸öÓû§Ö®ºó£¬ÔÙÓÃPLSQLµÇ¼£¬ÔòPLSQLËÀµôÁË¡£ ÎҹصôPLSQLÖ®ºó£¬ÓÃÆäËûÓû§Ò²²»ÄܵǼ¡£ ÎÒ°ÑoracleµÄ·þÎñÍ£Ö¹£¬½á¹û¾ÍÊÇoracleµÄ·þÎñ״̬¾ÍÍ£ÁôÔÚ¡°Í ......
ÎÒÔÚ¿ª·¢µÄÕâ¸öÓ¦Óò¢·¢ÐԱȽϸߣ¬oracle¸üÐÂÊý¾ÝʱºòÈçºÎ´¦Àí²¢·¢´¦ÀíÄØ£¿¸÷λ´óÏÀ·¢±íºÃµÄ¹Ûµã°¡£¬ÔÚÏߵȴý£¡ oracleÊý¾Ý¸üÐÂʱ£¬»á×Ô¶¯Ä¬ÈÏÐÐËø¶¨£¬Â¥Ö÷²»Òª²ÙÐÄ£¬Oracle¶Ô²¢Ðд¦ÀíÒѾºÜ³ÉÊìÁË ÒýÓà oracle ......
×Ö¶Î1,×Ö¶Î2.....×Ö¶ÎN,Status,ParentID 1,Name1....test1,1,99 1,Name1....test1,3,99 1,Name2....test2,1,101 1,Name2....test2,3,101 1,Name3....test3,2,101 1,Name1....test1,4,101 ÏëÒªµÄ½á¹ûÊÇ: 1,Na ......
ÎҵĴ¦ÀíÊÇÕâÑùµÄ£º ÎÒÓÐÒ»¸öºÜ´óµÄÊý¾Ý¼¯ºÏ£¬´¦ÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇÐèҪʹÓÃÁÙʱ±í¹ý¶É£¬²¢ÇÒʹÓ÷ÖÒ³µÄ·½Ê½ÏòÁÙʱ±íÖвåÈëÊý¾Ý£¬Êý¾ÝʹÓÃÍê±Ïºó£¬É¾³ýÁÙʱ±íµÄÊý¾Ý¡£ ³öÏÖµÄÏÖÏ󣺵±OracleÖØÐÂÆô¶¯ºó£¬µÚÒ»Ò³²åÈëµÄ ......