Please I have a table, with null values and I am trying to write an sql query to replace them with values from the previous row
table: customer
id | value |
---|---|
001 | 34 |
002 | Null |
003 | Null |
004 | Null |
005 | 20 |
006 | Null |
007 | Null |
008 | 55 |
what I want to achieve
id | value |
---|---|
001 | 34 |
002 | 20 |
003 | 20 |
004 | 20 |
005 | 20 |
006 | 55 |
007 | 55 |
008 | 55 |
thanks
CodePudding user response:
CodePudding user response:
A subquery to get the values from the immediate following row where value is not null
should do the job:
select id,
(select value from customer where id >= c.id and value is not null
order by id limit 1) as value
from customer c
order by id