SELECT q_data.div_cd, q_data.prod_cd, q_data.Cust_Cd,
|
COUNT(*) OVER(PARTITION BY q_data.div_cd, q_data.prod_cd, q_data.cust_cd
|
Order By q_data.div_cd, q_data.prod_cd, q_data.cust_cd) Counts,
|
LAG(Prod_Cd,1,0) OVER(PARTITION BY q_data.div_cd
|
ORDER BY q_data.div_cd, q_data.prod_cd, q_data.cust_cd) Lag_Prod,
|
LEAD(Prod_Cd,1,0) OVER(PARTITION BY q_data.div_cd
|
ORDER BY q_data.div_cd, q_data.prod_cd, q_data.cust_cd) lead_Prod
|
FROM (SELECT 1001 div_cd, 5001 prod_cd, 101 cust_cd FROM DUAL UNION ALL
|
SELECT 1001 div_cd, 5001 prod_cd, 101 cust_cd FROM DUAL UNION ALL
|
SELECT 1001 div_cd, 5001 prod_cd, 101 cust_cd FROM DUAL UNION ALL
|
SELECT 1002 div_cd, 5001 prod_cd, 101 cust_cd FROM DUAL UNION ALL
|
SELECT 1003 div_cd, 5001 prod_cd, 101 cust_cd FROM DUAL UNION ALL
|
SELECT 1004 div_cd, 5002 prod_cd, 102 cust_cd FROM DUAL UNION ALL
|
SELECT 1004 div_cd, 5002 prod_cd, 102 cust_cd FROM DUAL
|
) q_data;
|