【问题标题】:Grouping and Ordering Columns in SqlSql中的分组和排序列
【发布时间】:2021-08-14 04:47:10
【问题描述】:

我遇到了一个我希望很容易解决的问题,但由于某种原因我无法解决。我有一个由州、县和人口组成的三列数据集。在 SQL 中,我想按州和县对总人数求和,然后我想按州和县分组,并按总人数按降序排列。这很简单,除了我希望我的数据集首先按州和县分组,然后按顺序排列,这意味着如果 A 州 A 县的总人数最多,那么 A 州的所有行将首先组合在一起。

    Select State, County, sum(Total_Population) as tot_pop
        from state_county_2
        group by state, county
        order by tot_pop desc, state,county ;

【问题讨论】:

    标签: sql


    【解决方案1】:

    order by中可以使用窗口函数:

    Select State, County, sum(Total_Population) as tot_pop
    from state_county_2
    group by state, county
    order by max(tot_pop) over (partition by state) desc,
             state, tot_pop desc, county;
    

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 2011-07-04
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多