PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSQL:पिछले मान के साथ टाइम्सरी क्वेरी में NULL मान भरें

मुझे निम्न विधि आसान लगी:

दिए गए डेटा का नमूना बनाएं:

WITH example (date,close) AS 
(VALUES 
    ('12:00:00',3),
    ('12:00:01',4),
    ('12:00:02',5),
    ('12:00:03',NULL),
    ('12:00:04',NULL), 
    ('12:00:05',3)
) 
SELECT * INTO temporary table market_summary FROM example;

पिछले भरे गए मान के साथ NULL मान भरने की क्वेरी

select 
    date, 
    close, 
    first_value(close) over (partition by grp_close) as corrected_close
from (
      select date, close,
             sum(case when close is not null then 1 end) over (order by date) as grp_close
      from   market_summary
) t

वापसी

date      | close | corrected_close
-----------------------------------
12:00:00  | 3     | 3
12:01:00  | 4     | 4
12:02:00  | 5     | 5
12:03:00  | NULL  | 5
12:04:00  | NULL  | 5
12:05:00  | 3     | 3
  • बंद करें:मौजूदा मान
  • सुधारित_करीब:सही किया गया मान


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL क्वेरी:किसी तालिका से आदेशित पंक्तियाँ प्राप्त करें

  2. अनुक्रमिक अनुक्रमणिका के लिए भरण कारक जो PK है

  3. Postgresql स्कीमा पथ को स्थायी रूप से सेट करें

  4. पोस्टग्रेस फ़ंक्शन से अस्थायी तालिका कैसे वापस करें?

  5. Django को SQLite से PostgreSQL में कनवर्ट करना