Yardım isteyebilir miyim? Aynı ürün kimliğine ait sipariş tarihleri arasındaki ayları hesaplamam gerekiyor. Aşağıdaki veri ORDER_NUM benzersiz bir değer olduğu, PRODUCT_ID da birçok kez ve yine görünür ay arasındaki tarih
ORDER_NUM PRODUCT_ID ORDER_DATE
111111 222222 2015-05-20 18:30:38
111112 222223 2015-12-03 19:25:23
111113 222224 2015-12-30 18:16:25
111114 222225 2015-10-30 12:32:06
111115 222226 2015-12-26 16:14:33
111116 222227 2016-03-08 10:23:39
111117 222224 2015-10-01 09:04:56
111118 222223 2015-04-21 11:48:03
111119 222228 2015-11-14 10:00:38
111120 222229 2016-03-22 10:42:32
111121 222230 2015-11-10 12:14:41
111122 222231 2015-11-24 10:05:40
111123 222222 2015-12-05 12:18:28
111124 222232 2015-12-07 11:23:53
111125 222233 2015-07-17 10:47:54
111126 222234 2016-02-08 11:59:30
111127 222235 2015-11-08 15:40:08
111128 222223 2015-09-24 11:16:03
111129 222236 2015-11-09 12:30:04
set var.
ORDER_NUM PRODUCT_ID MONTHS_BETWEEN
111111 222222 0
111112 222223 2
111113 222224 3
111114 222225 0
111115 222226 0
111116 222227 0
111117 222224 0
111118 222223 0
111119 222228 0
111120 222229 0
111121 222230 0
111122 222231 0
111123 222222 7
111124 222232 0
111125 222233 0
111126 222234 0
111127 222235 0
111128 222223 5
111129 222236 0
product_id ilk görünüşü var MONTHS_BETWEEN “0” değeri ve her bir sonraki değerini şimdiki ve önceki arasındaki ay olması gerekmektedir olmalıdır: gibi olmak sonucunu gerekir.
select t.*,
months_between(lead(order_date() over (partition by product_id order by order_date)),
order_date
) as MonthsBetween
from t;
Notlar:
Ben
Sanırım ilk satırda her zaman bir sonuç olacak ve gecikme her zaman en son satırda olacak. ... ben böyle seçiyorum. – Hogan
işe yaradı! Teşekkür ederim! – JONSY