इस क्वेरी को आजमाएं:
select cd.Dt
, t.Dt_next
, cd.customer_id
, cd.buy_time
, cd.money_spent
from (
select Dt
, LEAD(Dt) OVER (PARTITION BY customer_id ORDER BY Dt) AS Dt_next
, customer_id
from (
select distinct Dt, customer_id
from #customer_data
) t
) t
inner join #customer_data cd on t.customer_id = cd.customer_id and t.Dt = cd.Dt
क्यों फ़ील्ड money_spent
फ्लोट प्रकार है? आपको गणना में समस्या हो सकती है। इसे दशमलव प्रकार में बदलें।