sql >> Databáze >  >> RDS >> Oracle

Vyplňte hodnoty null posledním nenulovým množstvím - Oracle SQL

poslední_hodnota s IGNORE NULLS funguje dobře v Oracle 10g:

select item, year, month, amount, 
       last_value(amount ignore nulls) 
         over(partition by item 
              order by year, month 
              rows between unbounded preceding and 1 preceding) from tab;

rows between unbounded preceding and 1 preceding nastaví okno pro analytickou funkci.

V tomto případě Oracle hledá LAST_VALUE uvnitř skupiny definované v PARTITION BY (stejná položka) od začátku (UNBOUNDED PRECEDING) až po aktuální řádek - 1 (1 PRECEDING)

Je to běžná náhrada za LEAD/LAG s IGNORE NULLS v Oracle 10g

Pokud však používáte Oracle 11g, můžete použít LAG z odpovědi Gordona Linoffa (je tam malý překlep s "ignore null")



  1. Převeďte data z MySQL do JSON pomocí PHP

  2. docker.io – Docker propojení mezi aplikačními a databázovými kontejnery

  3. PHP/MySQL - Jak přidat více značek

  4. Záloha návrhu databáze PostgreSQL - bez dat