2025Ä꿪´°º¯Êý»ù´¡ÖªÊ¶£¨2025Ä꿪´°º¯Êý sum£©
2021½ðÈýÒøËÄ326λ·ÛË¿ÃæÊÔ´ó³§¾Ñé×ܽá(¸½ÃæÊÔÕæÌâ)
Äê½ðÈýÒøËÄÆÚ¼ä£¬Í¨¹ý¶Ô326λ·ÛË¿ÃæÊԴ󳧵ľÑé×ܽᷢÏÖ£¬´ó³§¶Ô·Ç¸ßPְλµÄÕÐÆ¸±ê×¼Ö÷Òª¼¯ÖÐÔÚ¼¼Êõʵ²ÙÄÜÁ¦¡¢Java»ù´¡¡¢·Ö²¼Ê½¿ò¼ÜÊìϤ¶ÈµÈ·½Ã棬ͬʱÐèÖØµã×¼±¸Ëã·¨¡¢Êý¾Ý¿âÓÅ»¯¡¢µ×²ã´úÂëµÈÃæÊÔ¸ßÆµ·½Ïò£¬²¢Í¨¹ýÏîÄ¿¾ÑéÌåÏÖ¼¼ÄÜÓ¦Óᣠ¾ßÌåÄÚÈÝÈçÏ£º´ó³§ÕÐÆ¸±ê×¼ÓëºòÑ¡ÈËÍ´µãºËÐÄÒªÇó£ºÄܸɻ¾ß±¸Êµ¼ÊÏîĿִÐÐÄÜÁ¦¡£
Ëã·¨Ì⣺±ÊÊÔ¶àΪleetcodeÔÌâ»ò¸Ä±à£¬ÃæÊÔÌâ¿É²Î¿¼½£Ö¸offer¡£Áã»ù´¡¿É´ÓJavaÊý¾Ý½á¹¹ºÍËã·¨ÈëÊÖ£¬Ê¹ÓÃleetcode»òÅ£¿ÍµÈƽ̨ˢÌâ¡£SQLÌ⣺ÊìϤSQLÓï¾ä£¬¿ÉÔÚleetcode»òÅ£¿ÍÉÏË¢Ìâ¡£´óÊý¾Ý¼òµ¥ÎÊÌ⣺ÈçÇótop-10ºÍwordcountµÈ¡£ÃæÊÔ»ù´¡£ºJava»ù´¡ºÍ¼ÆËã»ú»ù´¡£º°üÀ¨ÍøÂç¡¢Êý¾Ý¿â¡¢²Ù×÷ϵͳµÈ¡£

ÃÀÍÅʵϰ³õÌåÑé
ÔÚÃÀÍŵÄʵϰ¾ÀúÊÇÒ»¶Î³äʵÇÒÊÕ»ñÆÄ·áµÄʱ¹â¡£×÷ΪһÃûÓµÓÐ985±¾¿ÆÍ³¼ÆÑ§±³¾°ºÍÏã¸Û˶ʿÊý¾Ý¿ÆÑ§×¨Òµ£¬²¢¾ß±¸1´Î´ó³§ÊµÏ°ºÍ1´Îstartupʵϰ¾ÑéµÄÎÒ£¬Äܹ»¼ÓÈëÃÀÍŵĻù´¡Ñз¢Æ½Ì¨-´óÊý¾Ý¿ª·¢ÍŶӣ¬ÎÞÒÉÊÇÒ»´Î±¦¹óµÄ»ú»á¡£ÒÔÏÂÊÇÎÒ¶ÔÃÀÍÅʵϰµÄ³õÌåÑ飬´Ó»ù±¾Çé¿ö¡¢³É³¤¡¢ÌåÑé¡¢ÃæÊÔÒÔ¼°ÊµÏ°ÄÚÈݵȷ½Ãæ½øÐÐÏêϸ·ÖÏí¡£
¸Ðл¾Àú£º¼ÓÈëÃÀÍųõÌåÑé ¼ÓÈëÃÀÍÅÍâÂôÍŶӣ¬¶ÔÎÒ¶øÑÔÊÇÒ»´Îȫеij¢ÊÔÓëÌôÕ½£¬Õâ¶Î³õÌåÑéÈÃÎÒÉî¿ÌÌå»áµ½ÁËÉú»îµÄ²»Ò×ÓëŬÁ¦µÄ¼ÛÖµ¡£ÔµÆðÓë¾ö¶¨ ÄÇÌìÍíÉÏ£¬ÎÒÔÚË¢¶¶ÒôʱÎÞÒâ¼ä¿´µ½Ò»¸öÊÓÆµ£¬Ò»Î»ÍâÂôС¸çÔÚ½ÓÊܽÖÍ·²É·Ãʱ±»Îʼ°¹¤×Ê£¬ËûºÁ²»ÓÌÔ¥µØ±íʾһÍò¶à£¬Å¬Á¦µãµÄ»°ÄÜ´ïµ½Á½Íò¶à¡£
ÃÀÍſ쿳õÌåÑéÊÇÒ»¶Î³äÂúÌôÕ½ÓëѧϰµÄ¾Àú¡£¸ßÇ¿¶ÈµÄ¹¤×÷½Ú×ࣺÁ¬Ðø¹¤×÷ÎÞÐÝ£º×÷ΪгÉÔ±£¬ÐèÒªÁ¬Ðø¹¤×÷ÕûÕûÒ»¸öÔ£¬Ã¿Ìì´ÓÏÂÎç1µã°ë¿ªÊ¼Ã¦Âµ£¬Ö±µ½ºÜÍí²Å»Ø¼Ò£¬¸ÐÊܵ½Á˼«´óµÄ¹¤×÷ѹÁ¦¡£ÇøÓòС×éPKÈü£ºÄÚ²¿ÇøÓòС×éÖ®¼äµÄPKÈü¶ÔBDÍŶӵÄÖ´ÐÐÁ¦Ìá³öÁËÑϾþ¿¼Ñ飬Ôö¼ÓÁ˹¤×÷µÄ½ôÕŸкÍÌôÕ½ÐÔ¡£
SQL¸ß¼¶ÖªÊ¶,¿ª´°º¯ÊýOVER
1¡¢´°¿Úº¯ÊýOVER£¨£©Ö¸¶¨Ò»×éÐУ¬¿ª´°º¯Êý¼ÆËã´Ó´°¿Úº¯ÊýÊä³öµÄ½á¹û¼¯Öи÷ÐеÄÖµ¡£¿ª´°º¯Êý²»ÐèҪʹÓÃGROUP BY¾Í¿ÉÒÔ¶ÔÊý¾Ý½øÐзÖ×飬»¹¿ÉÒÔͬʱ·µ»Ø»ù´¡ÐеÄÁк;ۺÏÁС£OVERµÄÓ÷¨ OVER¿ª´°º¯Êý±ØÐëÓë¾ÛºÏº¯Êý»òÅÅÐòº¯ÊýÒ»ÆðʹÓ㬾ۺϺ¯ÊýÒ»°ãÖ¸SUM£¨£©£¬MAX£¨£©£¬MIN£¬COUNT£¨£©£¬AVG£¨£©µÈ³£¼ûº¯Êý¡£
2¡¢¿ª´°º¯ÊýÔÚÒµÎñÊý¾ÝÌáÈ¡ÖÐÊdz£±»ÀûÓõŤ¾ß£¬ËüÄܹ»°ïÖúÎÒÃǽøÐÐÈç»ñȡÿ¸ö·ÖÀàµÄTopN»òƽ¾ùÖµµÈ¸´ÔÓ²Ù×÷¡£ÀûÓÿª´°º¯Êý£¬¿ÉÏÔÖøÌáÉýSQLµÄÖ´ÐÐЧÂÊ¡£¿ª´°º¯ÊýÖ÷Òª·ÖΪÁ½ÖÖÀàÐÍ£ºÅÅÐòÐÔ¿ª´°ºÍ¾ÛºÏÐÔ¿ª´°¡£¿ª´°º¯ÊýµÄ»ù±¾Óï·¨ÊÇ£º`¿ª´°º¯Êý£¨£© OVER £¨partition by ÁÐÃû order by ÁÐÃû£©`¡£
3¡¢SQLº¯ÊýÖеĿª´°º¯ÊýÊÇÒ»ÖÖÌØÊ⹦ÄÜ£¬Äܹ»ÔÚµ¥ÐÐÖÐͬʱ·µ»Ø»ù´¡Áк;ۺϼÆËã½á¹û¡£ÒÔÏÂÊǹØÓÚ¿ª´°º¯ÊýµÄÏêϸ½â»ù±¾ÌØÐÔ£º²»ÒÀÀµGROUP BY£º¿ª´°º¯Êý²»ÐèҪͨ¹ýGROUP BY½øÐÐÊý¾Ý·Ö×é¡£·µ»ØÔʼ˳Ðò£º¿ÉÒÔÔÚ±£³ÖÔʼÊý¾Ý˳ÐòµÄͬʱ£¬¶Ôÿ¸ö·ÖÇøÄÚµÄÊý¾Ý½øÐоۺϴ¦Àí¡£
4¡¢SQLº¯ÊýÖеĿª´°º¯ÊýÊÇÒ»ÖÖÌØÊ⹦ÄÜ£¬Ëü²»ÒÀÀµGROUP BY½øÐÐÊý¾Ý·Ö×飬¶øÊÇ¿ÉÒÔÔÚµ¥ÐÐÖÐͬʱ·µ»Ø»ù´¡Áк;ۺϼÆËã½á¹û¡£Æä»ù±¾Óï·¨ÐÎʽΪº¯ÊýÃû + over£¨partition by [order by]£©£¬Í¨¹ý·ÖÇøºÍÅÅÐò²Ù×÷£¬ÎªÃ¿¸ö·ÖÇøÄÚµÄÊý¾Ý½øÐоۺϴ¦Àí£¬²¢±£³ÖÔʼ˳Ðò·µ»Ø¡£¶à¸ö¿ª´°º¯Êý¿ÉÒÔÔÚͬһ¸ö²éѯÖжÀÁ¢Ê¹Óá£
5¡¢overº¯ÊýÊÇoracleÖеķÖÎöº¯Êý£¬·ÖÎöº¯ÊýÊǶÔÐм¯×é½øÐоۺϼÆË㣬µ«ÊDz»ÏñÆÕͨ¾ÛºÏÕ̺¯ÊýÄÇÑùÿ×éÖ»·µ»ØÒ»¸öÖµ£¬·ÖÎöº¯Êý¿ÉÒÔΪÿ×é·µ»Ø¶à¸öÖµ¡£Ê¹Ó÷½·¨Îª£ºover£¨partition byÅÅ ÁÐÃû1 order by ÁÐÃû2 £©£¬À¨ºÅÖеÄÁ½¸ö¹Ø¼ü´Êpartition by ºÍorder by ¿ÉÒÔÖ»³öÏÖÒ»¸ö¡£
2021½ðÈýÒøËÄ226λ·ÛË¿ÃæÊÔ´ó³§¾Ñé×ܽá(¸½ÃæÊÔÕæÌâ)
Ë¢Ì⣺Ëã·¨Ì⣺±ÊÊÔ¶àΪleetcodeÔÌâ»ò¸Ä±à£¬ÃæÊÔÌâ¿É²Î¿¼½£Ö¸offer¡£Áã»ù´¡¿É´ÓJavaÊý¾Ý½á¹¹ºÍËã·¨ÈëÊÖ£¬Ê¹ÓÃleetcode»òÅ£¿ÍµÈƽ̨ˢÌâ¡£SQLÌ⣺ÊìϤSQLÓï¾ä£¬¿ÉÔÚleetcode»òÅ£¿ÍÉÏË¢Ìâ¡£´óÊý¾Ý¼òµ¥ÎÊÌ⣺ÈçÇótop-10ºÍwordcountµÈ¡£
Äê½ðÈýÒøËÄÆÚ¼ä£¬Í¨¹ý¶Ô326λ·ÛË¿ÃæÊԴ󳧵ľÑé×ܽᷢÏÖ£¬´ó³§¶Ô·Ç¸ßPְλµÄÕÐÆ¸±ê×¼Ö÷Òª¼¯ÖÐÔÚ¼¼Êõʵ²ÙÄÜÁ¦¡¢Java»ù´¡¡¢·Ö²¼Ê½¿ò¼ÜÊìϤ¶ÈµÈ·½Ã棬ͬʱÐèÖØµã×¼±¸Ëã·¨¡¢Êý¾Ý¿âÓÅ»¯¡¢µ×²ã´úÂëµÈÃæÊÔ¸ßÆµ·½Ïò£¬²¢Í¨¹ýÏîÄ¿¾ÑéÌåÏÖ¼¼ÄÜÓ¦Óá£