暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Analytics - Using the PARTITION clause

原创 fizz 2022-12-31
256
  • Statement 1

    drop table countries purge

    ORA-00942: table or view does not exist

  • Statement 2

    create table countries ( name varchar2(50), continent varchar2(30), population int )

    Table created.

  • Statement 3

    begin 
    insert into countries values ('Afghanistan',initcap('ASIA'),27101365); 
    insert into countries values ('Albania',initcap('EUROPE'),2893005); 
    insert into countries values ('Algeria',initcap('AFRICA'),40400000); 
    insert into countries values ('Andorra',initcap('EUROPE'),76949); 
    insert into countries values ('Angola',initcap('AFRICA'),24383301); 
    insert into countries values ('Antigua and Barbuda',initcap('NORTH AMERICA'),86295); 
    insert into countries values ('Argentina',initcap('SOUTH AMERICA'),43590400); 
    insert into countries values ('Armenia',initcap('EUROPE'),3004000); 
    insert into countries values ('Australia',initcap('OCEANIA'),24016400); 
    insert into countries values ('Austria',initcap('EUROPE'),8662588); 
    insert into countries values ('Azerbaijan',initcap('EUROPE'),9687300); 
    insert into countries values ('Bahamas',initcap('NORTH AMERICA'),393000); 
    insert into countries values ('Bahrain',initcap('ASIA'),1404900); 
    insert into countries values ('Bangladesh',initcap('ASIA'),159663000); 
    insert into countries values ('Barbados',initcap('NORTH AMERICA'),285000); 
    insert into countries values ('Belarus',initcap('EUROPE'),9494200); 
    insert into countries values ('Belgium',initcap('EUROPE'),11291746); 
    insert into countries values ('Belize',initcap('NORTH AMERICA'),368310); 
    insert into countries values ('Benin',initcap('AFRICA'),10653654); 
    insert into countries values ('Bhutan',initcap('ASIA'),768960); 
    insert into countries values ('Bolivia',initcap('SOUTH AMERICA'),10985059); 
    insert into countries values ('Bosnia and Herzegovina',initcap('EUROPE'),3791622); 
    insert into countries values ('Botswana',initcap('AFRICA'),2141206); 
    insert into countries values ('Brazil',initcap('SOUTH AMERICA'),205444000); 
    insert into countries values ('Brunei',initcap('ASIA'),411900); 
    insert into countries values ('Bulgaria',initcap('EUROPE'),7202198); 
    insert into countries values ('Burkina',initcap('AFRICA'),18450494); 
    insert into countries values ('Burundi',initcap('AFRICA'),10114505); 
    insert into countries values ('Cambodia',initcap('ASIA'),15626444); 
    insert into countries values ('Cameroon',initcap('AFRICA'),23924000); 
    insert into countries values ('Canada',initcap('NORTH AMERICA'),35985751); 
    insert into countries values ('Cape Verde',initcap('AFRICA'),531239); 
    insert into countries values ('Central African Republic',initcap('AFRICA'),4998000); 
    insert into countries values ('Chad',initcap('AFRICA'),14497000); 
    insert into countries values ('Chile',initcap('SOUTH AMERICA'),18191900); 
    insert into countries values ('China',initcap('ASIA'),1374150000); 
    insert into countries values ('Colombia',initcap('SOUTH AMERICA'),48470000); 
    insert into countries values ('Comoros',initcap('AFRICA'),806153); 
    insert into countries values ('Congo',initcap('AFRICA'),85026000); 
    insert into countries values ('Costa Rica',initcap('NORTH AMERICA'),4832234); 
    insert into countries values ('Croatia',initcap('EUROPE'),4225316); 
    insert into countries values ('Cuba',initcap('NORTH AMERICA'),11238317); 
    insert into countries values ('Cyprus',initcap('EUROPE'),847000); 
    insert into countries values ('Czech Republic',initcap('EUROPE'),10541466); 
    insert into countries values ('Denmark',initcap('EUROPE'),5699220); 
    insert into countries values ('Djibouti',initcap('AFRICA'),900000); 
    insert into countries values ('Dominica',initcap('NORTH AMERICA'),71293); 
    insert into countries values ('Dominican Republic',initcap('NORTH AMERICA'),10075045); 
    insert into countries values ('East Timor',initcap('ASIA'),1167242); 
    insert into countries values ('Ecuador',initcap('SOUTH AMERICA'),16278844); 
    insert into countries values ('Egypt',initcap('AFRICA'),90174100); 
    insert into countries values ('El Salvador',initcap('NORTH AMERICA'),6520675); 
    insert into countries values ('Equatorial Guinea',initcap('AFRICA'),1222442); 
    insert into countries values ('Eritrea',initcap('AFRICA'),5352000); 
    insert into countries values ('Estonia',initcap('EUROPE'),1313271); 
    insert into countries values ('Ethiopia',initcap('AFRICA'),92206000); 
    insert into countries values ('Fiji',initcap('OCEANIA'),867000); 
    insert into countries values ('Finland',initcap('EUROPE'),5496275); 
    insert into countries values ('France',initcap('EUROPE'),66539000); 
    insert into countries values ('Gabon',initcap('AFRICA'),1802278); 
    insert into countries values ('Georgia',initcap('EUROPE'),3729500); 
    insert into countries values ('Germany',initcap('EUROPE'),81292400); 
    insert into countries values ('Ghana',initcap('AFRICA'),27043093); 
    insert into countries values ('Greece',initcap('EUROPE'),10846979); 
    insert into countries values ('Grenada',initcap('NORTH AMERICA'),103328); 
    insert into countries values ('Guatemala',initcap('NORTH AMERICA'),16176133); 
    insert into countries values ('Guinea',initcap('AFRICA'),12947000); 
    insert into countries values ('Guinea-Bissau',initcap('AFRICA'),1547777); 
    insert into countries values ('Guyana',initcap('SOUTH AMERICA'),746900); 
    insert into countries values ('Haiti',initcap('NORTH AMERICA'),11078033); 
    insert into countries values ('Honduras',initcap('NORTH AMERICA'),8576532); 
    insert into countries values ('Hungary',initcap('EUROPE'),9849000); 
    insert into countries values ('Iceland',initcap('EUROPE'),331310); 
    insert into countries values ('India',initcap('ASIA'),1282600000); 
    insert into countries values ('Indonesia',initcap('ASIA'),258705000); 
    insert into countries values ('Iran',initcap('ASIA'),78916000); 
    insert into countries values ('Iraq',initcap('ASIA'),36575000); 
    insert into countries values ('Ireland',initcap('EUROPE'),4635400); 
    insert into countries values ('Israel',initcap('ASIA'),8462000); 
    insert into countries values ('Italy',initcap('EUROPE'),60685487); 
    insert into countries values ('Ivory Coast',initcap('AFRICA'),22671331); 
    insert into countries values ('Jamaica',initcap('NORTH AMERICA'),2723246); 
    insert into countries values ('Japan',initcap('ASIA'),126880000); 
    insert into countries values ('Jordan',initcap('ASIA'),7748000); 
    insert into countries values ('Kazakhstan',initcap('ASIA'),17630700); 
    insert into countries values ('Kenya',initcap('AFRICA'),47251000); 
    insert into countries values ('Kiribati',initcap('OCEANIA'),113400); 
    insert into countries values ('Korea, North',initcap('ASIA'),25281000); 
    insert into countries values ('Korea, South',initcap('ASIA'),51529338); 
    insert into countries values ('Kyrgyzstan',initcap('ASIA'),5975000); 
    insert into countries values ('Laos',initcap('ASIA'),6472400); 
    insert into countries values ('Latvia',initcap('EUROPE'),1973700); 
    insert into countries values ('Lebanon',initcap('ASIA'),4168000); 
    insert into countries values ('Lesotho',initcap('AFRICA'),1894194); 
    insert into countries values ('Liberia',initcap('AFRICA'),4615000); 
    insert into countries values ('Libya',initcap('AFRICA'),6330000); 
    insert into countries values ('Liechtenstein',initcap('EUROPE'),37370); 
    insert into countries values ('Lithuania',initcap('EUROPE'),2890679); 
    insert into countries values ('Luxembourg',initcap('EUROPE'),562958); 
    insert into countries values ('Macedonia',initcap('EUROPE'),2069172); 
    insert into countries values ('Madagascar',initcap('AFRICA'),22434363); 
    insert into countries values ('Malawi',initcap('AFRICA'),16832910); 
    insert into countries values ('Malaysia',initcap('ASIA'),30819500); 
    insert into countries values ('Maldives',initcap('ASIA'),341256); 
    insert into countries values ('Mali',initcap('AFRICA'),18135000); 
    insert into countries values ('Malta',initcap('EUROPE'),445426); 
    insert into countries values ('Marshall Islands',initcap('OCEANIA'),54880); 
    insert into countries values ('Mauritania',initcap('AFRICA'),3718678); 
    insert into countries values ('Mauritius',initcap('AFRICA'),1262879); 
    insert into countries values ('Mexico',initcap('NORTH AMERICA'),122273500); 
    insert into countries values ('Moldova',initcap('EUROPE'),3555200); 
    insert into countries values ('Monaco',initcap('EUROPE'),37800); 
    insert into countries values ('Mongolia',initcap('ASIA'),3059684); 
    insert into countries values ('Montenegro',initcap('EUROPE'),621810); 
    insert into countries values ('Morocco',initcap('AFRICA'),33337529); 
    insert into countries values ('Mozambique',initcap('AFRICA'),26423700); 
    insert into countries values ('Myanmar',initcap('ASIA'),54363000); 
    insert into countries values ('Namibia',initcap('AFRICA'),2324400); 
    insert into countries values ('Nauru',initcap('OCEANIA'),10084); 
    insert into countries values ('Nepal',initcap('ASIA'),28431500); 
    insert into countries values ('Netherlands',initcap('EUROPE'),16981400); 
    insert into countries values ('New Zealand',initcap('OCEANIA'),4645120); 
    insert into countries values ('Nicaragua',initcap('NORTH AMERICA'),6198154); 
    insert into countries values ('Niger',initcap('AFRICA'),20715000); 
    insert into countries values ('Nigeria',initcap('AFRICA'),186988000); 
    insert into countries values ('Norway',initcap('EUROPE'),5214890); 
    insert into countries values ('Oman',initcap('ASIA'),4319745); 
    insert into countries values ('Pakistan',initcap('ASIA'),192420472); 
    insert into countries values ('Palau',initcap('OCEANIA'),17950); 
    insert into countries values ('Panama',initcap('NORTH AMERICA'),3764166); 
    insert into countries values ('Papua New Guinea',initcap('OCEANIA'),8083700); 
    insert into countries values ('Paraguay',initcap('SOUTH AMERICA'),7112594); 
    insert into countries values ('Peru',initcap('SOUTH AMERICA'),31488700); 
    insert into countries values ('Philippines',initcap('ASIA'),102612900); 
    insert into countries values ('Poland',initcap('EUROPE'),38484000); 
    insert into countries values ('Portugal',initcap('EUROPE'),10374822); 
    insert into countries values ('Qatar',initcap('ASIA'),2463460); 
    insert into countries values ('Romania',initcap('EUROPE'),19942642); 
    insert into countries values ('Russia',initcap('ASIA'),146491330); 
    insert into countries values ('Rwanda',initcap('AFRICA'),11553188); 
    insert into countries values ('Saint Kitts and Nevis',initcap('NORTH AMERICA'),46204); 
    insert into countries values ('Saint Lucia',initcap('NORTH AMERICA'),186000); 
    insert into countries values ('Saint Vincent and the Grenadines',initcap('NORTH AMERICA'),109991); 
    insert into countries values ('Samoa',initcap('OCEANIA'),187820); 
    insert into countries values ('San Marino',initcap('EUROPE'),32968); 
    insert into countries values ('Sao Tome and Principe',initcap('AFRICA'),187356); 
    insert into countries values ('Saudi Arabia',initcap('ASIA'),32248200); 
    insert into countries values ('Senegal',initcap('AFRICA'),14354690); 
    insert into countries values ('Serbia',initcap('EUROPE'),7114393); 
    insert into countries values ('Seychelles',initcap('AFRICA'),91400); 
    insert into countries values ('Sierra Leone',initcap('AFRICA'),6592000); 
    insert into countries values ('Singapore',initcap('ASIA'),5535000); 
    insert into countries values ('Slovakia',initcap('EUROPE'),5424058); 
    insert into countries values ('Slovenia',initcap('EUROPE'),2069223); 
    insert into countries values ('Solomon Islands',initcap('OCEANIA'),642000); 
    insert into countries values ('Somalia',initcap('AFRICA'),11079000); 
    insert into countries values ('South Africa',initcap('AFRICA'),54956900); 
    insert into countries values ('South Sudan',initcap('AFRICA'),11892934); 
    insert into countries values ('Spain',initcap('EUROPE'),46423064); 
    insert into countries values ('Sri Lanka',initcap('ASIA'),20966000); 
    insert into countries values ('Sudan',initcap('AFRICA'),39598700); 
    insert into countries values ('Suriname',initcap('SOUTH AMERICA'),534189); 
    insert into countries values ('Swaziland',initcap('AFRICA'),1132657); 
    insert into countries values ('Sweden',initcap('EUROPE'),9838480); 
    insert into countries values ('Switzerland',initcap('EUROPE'),8306200); 
    insert into countries values ('Syria',initcap('ASIA'),23558929); 
    insert into countries values ('Tajikistan',initcap('ASIA'),8352000); 
    insert into countries values ('Tanzania',initcap('AFRICA'),55155000); 
    insert into countries values ('Thailand',initcap('ASIA'),65218156); 
    insert into countries values ('Togo',initcap('AFRICA'),7143000); 
    insert into countries values ('Tonga',initcap('OCEANIA'),103252); 
    insert into countries values ('Trinidad and Tobago',initcap('NORTH AMERICA'),1349667); 
    insert into countries values ('Tunisia',initcap('AFRICA'),10982754); 
    insert into countries values ('Turkey',initcap('ASIA'),77695904); 
    insert into countries values ('Turkmenistan',initcap('ASIA'),4751120); 
    insert into countries values ('Tuvalu',initcap('OCEANIA'),10640); 
    insert into countries values ('Uganda',initcap('AFRICA'),34856813); 
    insert into countries values ('Ukraine',initcap('EUROPE'),42789472); 
    insert into countries values ('United Arab Emirates',initcap('ASIA'),9267000); 
    insert into countries values ('United Kingdom',initcap('EUROPE'),64800000); 
    insert into countries values ('United States',initcap('NORTH AMERICA'),322586000); 
    insert into countries values ('Uruguay',initcap('SOUTH AMERICA'),3480222); 
    insert into countries values ('Uzbekistan',initcap('ASIA'),31022500); 
    insert into countries values ('Vanuatu',initcap('OCEANIA'),277500); 
    insert into countries values ('Vatican City',initcap('EUROPE'),839); 
    insert into countries values ('Venezuela',initcap('SOUTH AMERICA'),31028700); 
    insert into countries values ('Vietnam',initcap('ASIA'),91700000); 
    insert into countries values ('Yemen',initcap('ASIA'),25956000); 
    insert into countries values ('Zambia',initcap('AFRICA'),15933883); 
    insert into countries values ('Zimbabwe',initcap('AFRICA'),15967000); 
     
    commit; 
    end; 

    Statement processed.

  • Statement 4

    select * 
    from countries 
    order by continent, name
    NAMECONTINENTPOPULATION
    AlgeriaAfrica40400000
    AngolaAfrica24383301
    BeninAfrica10653654
    BotswanaAfrica2141206
    BurkinaAfrica18450494
    BurundiAfrica10114505
    CameroonAfrica23924000
    Cape VerdeAfrica531239
    Central African RepublicAfrica4998000
    ChadAfrica14497000
    ComorosAfrica806153
    CongoAfrica85026000
    DjiboutiAfrica900000
    EgyptAfrica90174100
    Equatorial GuineaAfrica1222442
    EritreaAfrica5352000
    EthiopiaAfrica92206000
    GabonAfrica1802278
    GhanaAfrica27043093
    GuineaAfrica12947000
    Guinea-BissauAfrica1547777
    Ivory CoastAfrica22671331
    KenyaAfrica47251000
    LesothoAfrica1894194
    LiberiaAfrica4615000
    LibyaAfrica6330000
    MadagascarAfrica22434363
    MalawiAfrica16832910
    MaliAfrica18135000
    MauritaniaAfrica3718678
    MauritiusAfrica1262879
    MoroccoAfrica33337529
    MozambiqueAfrica26423700
    NamibiaAfrica2324400
    NigerAfrica20715000
    NigeriaAfrica186988000
    RwandaAfrica11553188
    Sao Tome and PrincipeAfrica187356
    SenegalAfrica14354690
    SeychellesAfrica91400
    Sierra LeoneAfrica6592000
    SomaliaAfrica11079000
    South AfricaAfrica54956900
    South SudanAfrica11892934
    SudanAfrica39598700
    SwazilandAfrica1132657
    TanzaniaAfrica55155000
    TogoAfrica7143000
    TunisiaAfrica10982754
    UgandaAfrica34856813

    Rows 1 - 50. More rows exist.
  • Statement 5

    select * 
    from ( 
      select c.*, 
             row_number() over ( order by population desc) as pop_rank 
      from   countries c 
      where  continent = 'Africa' 
    ) 
    where pop_rank <= 3
    NAMECONTINENTPOPULATIONPOP_RANK
    NigeriaAfrica1869880001
    EthiopiaAfrica922060002
    EgyptAfrica901741003

    3 rows selected.
  • Statement 6

    select * 
    from ( 
      select c.*, 
             row_number() over ( order by population desc) as pop_rank 
      from   countries c 
      where  continent = 'Oceania' 
    ) 
    where pop_rank <= 3
    NAMECONTINENTPOPULATIONPOP_RANK
    AustraliaOceania240164001
    Papua New GuineaOceania80837002
    New ZealandOceania46451203

    3 rows selected.
  • Statement 7

    select * 
    from ( 
      select c.*, 
             row_number() over ( order by population desc) as pop_rank 
      from   countries c 
      where  continent = 'Europe' 
    ) 
    where pop_rank <= 3
    NAMECONTINENTPOPULATIONPOP_RANK
    GermanyEurope812924001
    FranceEurope665390002
    United KingdomEurope648000003

    3 rows selected.
  • Statement 8

    select * 
    from ( 
      select c.*, 
             row_number() over (  
                 partition by continent 
                 order by population desc) as pop_rank 
      from   countries c 
    ) 
    where pop_rank <= 3
    NAMECONTINENTPOPULATIONPOP_RANK
    NigeriaAfrica1869880001
    EthiopiaAfrica922060002
    EgyptAfrica901741003
    ChinaAsia13741500001
    IndiaAsia12826000002
    IndonesiaAsia2587050003
    GermanyEurope812924001
    FranceEurope665390002
    United KingdomEurope648000003
    United StatesNorth America3225860001
    MexicoNorth America1222735002
    CanadaNorth America359857513
    AustraliaOceania240164001
    Papua New GuineaOceania80837002
    New ZealandOceania46451203
    BrazilSouth America2054440001
    ColombiaSouth America484700002
    ArgentinaSouth America435904003

    18 rows selected.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论