Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 4.87 KB | None | 0 0
  1. SELECT msisdn ,
  2.                  MIN (Diff)  Min_BtwCall,
  3.                  TRUNC ( (AVG (Diff)) ) Avg_BtwCall,
  4.                  MAX (Diff)  Max_BtwCall--,
  5.                         FROM ( WITH T2
  6.                        AS (SELECT  DISTINCT START_TIMESTAMP AS START_TIMESTAMP,
  7.                                 s_p_number_address ,
  8.                                   ROW_NUMBER()
  9.                                   OVER (PARTITION BY s_p_number_address
  10.                                         ORDER BY  START_TIMESTAMP ASC)
  11.                                      AS RANK
  12.                              FROM (SELECT  DISTINCT  call_date AS START_TIMESTAMP,
  13.                              msisdn AS s_p_number_address
  14.                                 FROM AGG_MSC_MSISDN
  15.                                     WHERE     PRODUCT = 'VOIX'
  16.                                         AND EVENT_DIRECTION = '1'
  17.                                           AND ENTRY_DATE_fct >= TRUNC (SYSDATE) -113
  18.                                         AND  ENTRY_DATE_fct < TRUNC (SYSDATE) -83
  19.                                         AND call_date >= TRUNC (SYSDATE) -113
  20.                                         AND  call_date < TRUNC (SYSDATE) -83
  21.                                        ) ORDER BY RANK
  22.                                   )
  23.                   SELECT T1.s_p_number_address AS msisdn,
  24.                          T1.RANK AS RANK,
  25.                          T2.RANK AS RANK,
  26.                          T1.START_TIMESTAMP AS START_TIMESTAMP,
  27.                         T2.START_TIMESTAMP AS START_TIMESTAMP,
  28.                          (  T2.START_TIMESTAMP
  29.                           -   T1.START_TIMESTAMP
  30.                             )
  31.                             AS Diff
  32.                     FROM (SELECT  DISTINCT START_TIMESTAMP AS START_TIMESTAMP,
  33.                                 s_p_number_address ,
  34.                                   ROW_NUMBER()
  35.                                   OVER (PARTITION BY s_p_number_address
  36.                                         ORDER BY  START_TIMESTAMP ASC)
  37.                                      AS RANK
  38.                              FROM (SELECT  DISTINCT  call_date AS START_TIMESTAMP,
  39.                              msisdn AS s_p_number_address,
  40.                                        event_direction
  41.                                 FROM AGG_MSC_MSISDN
  42.                                     WHERE     PRODUCT = 'VOIX'
  43.                                         AND EVENT_DIRECTION = '1'
  44.                                           AND ENTRY_DATE_fct >= TRUNC (SYSDATE) -113
  45.                                         AND  ENTRY_DATE_fct < TRUNC (SYSDATE) -83
  46.                                         AND call_date >= TRUNC (SYSDATE) -113
  47.                                         AND  call_date < TRUNC (SYSDATE) -83
  48.                                        ) ORDER BY RANK
  49.                                   ) T1
  50.                          LEFT JOIN T2
  51.                             ON   T1.RANK +1  = T2.RANK
  52.                                AND T1.s_p_number_address =
  53.                                       T2.s_p_number_address
  54.             )
  55.           WHERE diff IS NOT NULL
  56.           AND msisdn IN(SELECT '216'||served_account FROM ROW_INCCN_CONSO_8)
  57.        GROUP BY msisdn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement