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ÖÐÓÐÖØ¸´µÄ£¬Èç¹ûÄãÖ»ÒªÃû×Ö²»ÒªÖظ´µ
Ïà¹ØÎÊ´ð£º
¿ÉÄÜÒòΪ¹¤×÷µÄÔÒò ½Ó´¥Êý¾Ý¿âÕâ¿é±È½ÏÉÙ£¬Ö®Ç°¶¼ÊÇ×ö³ÌÐòÕâ¿é£¬Êý¾Ý¿âÕâ¿é¶¼ÓÐרÃŵÄÈËÀ´×ö ·Ö¹¤¶¼ºÜÃ÷ϸ ËùÒÔ¶ÔÊý¾Ý¿âÕâÒ»¿éÍêÈ«²»Á˽⡣ǰ¶Îʱ¼ä È¥ÃæÊÔÁ˼¸¼Ò¹«Ë¾ ¼¸ºõ¶¼ÊÇÔÚÊý¾Ý¿âÕâ¿é¹ÒµôµÄ Á¬¸ö¼òµ¥µÄSQ ......
ÏÖÔÚÓÐÁ½ÕÅ±í£ºÎÄÕÂÖ÷±íA(articleId,articleTitle)£¬ÎÄÕÂÆÀÂÛ±íB(commentId,articleId,commentTitle) ÏÖÔÚÎÒÏëʵÏÖÕâÑùµÄ¹¦ÄÜ£ºÁгöÎÄÕÂÁÐ±í£¬ÆäÖÐÿƪÎÄÕ±êÌâÏÂÃæÁгö´ËÎÄÕµÄǰ2¸öÎÄÕÂÆÀÂÛ£¬ÇëÎÊsqlÓï¾äÔõôд°¡ ......
¼ÙÉètable01 ÖÐÓÐ ÒÔÏÂ×ÊÁÏ emp_no emp_name ------- ------------ 0001 TOM 0002 JOHN 0003 MARY ³£Óõ绰 ¶øÎÒÃÇÒªµÃµ½ÒÔϵÄOUTPUT (»òÊǸ÷ÖÖÆäËûµÄoutput) 0001,TOM 0002,JOHN
......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£© tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname ½á¹û£º µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......
×Ö¶Î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 ......