Advertisement
mess9

Untitled

Nov 26th, 2020
914
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 0.96 KB | None | 0 0
  1. --ищем клиента у которого есть >3 поступлений и среди этих поступлений >2 уникальных дат.
  2. SELECT * FROM (
  3. SELECT
  4.     app_pkid,
  5.     CLIENT_LOCALSYSTEMID,
  6.     (
  7.     SELECT
  8.         COUNT (CHARGEPERIOD) AS num_uniq_date
  9.     FROM (
  10.         SELECT DISTINCT
  11.             TO_CHAR (c1.CHARGEPERIOD, 'YYYY-MM-DD') || 'T' || TO_CHAR(c1.CHARGEPERIOD, 'HH24:MI:SS') AS CHARGEPERIOD
  12.         FROM
  13.             DWH6.CHARGES c1
  14.         WHERE 1=1
  15.             AND c1.CLIENT_LOCALSYSTEMID = c.CLIENT_LOCALSYSTEMID
  16.             AND c1.CLIENT_APP_PKID = c.CLIENT_APP_PKID
  17.         )
  18.     ) AS num_uniq_date,
  19.     (
  20.     SELECT
  21.         COUNT (LOCALSYSTEMID) AS NUM_CHARGES
  22.     FROM (
  23.         SELECT DISTINCT
  24.             c2.LOCALSYSTEMID
  25.         FROM
  26.             DWH6.CHARGES c2
  27.         WHERE 1=1
  28.             AND c2.CLIENT_LOCALSYSTEMID = c.CLIENT_LOCALSYSTEMID
  29.             AND c2.CLIENT_APP_PKID = c.CLIENT_APP_PKID
  30.         )
  31.     ) AS num_charges
  32. FROM DWH6.charges sample (0.00001) c
  33. ORDER BY NUM_CHARGES DESC)
  34. WHERE 1=1
  35.     AND NUM_CHARGES > 3
  36.     AND num_uniq_date > 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement