sql server - SQL generate value between rows -


i have 3 rows of data, , want add value between rows. in excel can use excel formula , create manually, want create in sql. expected result image :

enter image description here

in picture, f3 average value between id 1 , 2 , divide 10. after average value, use first value in e3 , add value f3, , 1.271111. e5 use e4 add value f3 , on.

i want add 10 row between different id, , base on difference value between id, sum previous value difference value. isn't possible in sql statement?

i'm confused average.

select (10 - 0.18) / 9 -- 1.091111 -- average? -- select (10 - 0.18) / 10 -- 0.982000000 select (32.11 - 10) / 10 -- 2.211000 

you can below:

declare @tbl table (id int, value decimal(7, 5)) insert @tbl         values   (1, 0.18), (2, 10), (3, 32.11)  ;with cte  (     select          id ,         value,          coalesce((lead(value) on (order id) * 1.0 - value * 1.0) / 10, 0) averagevalue     @tbl )  --select (10 - 0.18) / 10 -- 0.982000000 --select (32.11 - 10) / 10 -- 2.211000  select distinct      a.id,     coalesce((b.rowid * 1.0 * a.averagevalue) + a.value,0) result     cte cross join     (values(0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) b(rowid)  

note: 2012+


Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -