sql >> Databáze >  >> RDS >> PostgreSQL

Funkce oken a další místní agregace

Tím se vrátí požadovaný výsledek se vzorovými daty. Nejste si jisti, zda to bude fungovat pro data z reálného světa:

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;

Vynechal jsem DISTINCT ačkoli.



  1. Zjistěte, zda hodnota obsahuje alespoň jednu číselnou číslici v Oracle

  2. Jak mohu urychlit row_number v Oracle?

  3. Najít závislosti na serveru SQL Server:sql_expression_dependencies

  4. Proč SQL Server automaticky ignoruje prázdné místo na konci?