sql >> データベース >  >> RDS >> PostgreSQL

ウィンドウ関数とよりローカルな集約

    これにより、サンプルデータとともに目的の結果が返されます。実世界のデータで機能するかどうかわからない:

    select k, 
           min(v) over (partition by group_nr) as min_v,
           max(v) over (partition by group_nr) as max_v
    from (
        select *,
               sum(group_flag) over (order by v,k) as group_nr
        from (
        select *,
               case
                  when lag(k) over (order by v) = k then null
                  else 1
                end as group_flag
        from window_test
        ) t1
    ) t2
    order by min_v;
    

    DISTINCTを省略しました



    1. 合計に基づいてMySQLの十分位数を計算します

    2. SQLServer2008でwhileループを実行する

    3. Oracleのテーブルのすべての制約を確認する方法

    4. 高可用性のためにMySQL用のPerconaサーバーをデプロイする方法