Answer 1:: Select
Answer 1:: Select
SELECT
CAST(BDATE_FINAL, DATE) AS MTH,
COUNT(USER_ID) AS DELIVERIES
FROM
TABLE T1
GROUP BY
1
Answer 2:
SELECT
CAST(BDATE_FINAL, DATE) AS MTH,
COUNT(DISTINCT RESPONDED_PRO_BOOKING) AS ACTIVE_PRO
FROM
Table T1
GROUP BY
1
Answer 3:
SELECT
CAST(BDATE_FINAL, DATE) AS MTH,
COUNT(USER_ID) AS DELIVERIES,
COUNT(DISTINCT RESPONDED_PRO_BOOKING) AS ACTIVE_PRO
COUNT(USER_ID)/ COUNT(DISTINCT RESPONDED_PRO_BOOKING) AS UTIL
FROM
TABLE T1
GROUP BY
1
Answer 4:
SELECT
CAST(T1.BDATE_FINAL, DATE) AS MTH,
COUNT(T1.DISTINCT RESPONDED_PRO_BOOKING)- COUNT(T2.DISTINCT RESPONDED_PRO_BOOKING) AS NEW_PRO
COUNT(T2.DISTINCT RESPONDED_PRO_BOOKING) AS REPEATPRO,
FROM
Table T1
LEFT JOIN Table T2
ON T1. RESPONDED_PRO_BOOKING=T2. RESPONDED_PRO_BOOKING
AND DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)>=1
GROUP BY 1
Answer 5:
SELECT
CAST(T1.BDATE_FINAL, DATE) AS MTH,
COUNT(DISTINCT T1.RESPONDED_PRO_BOOKING)- COUNT(DISTINCT T2.RESPONDED_PRO_BOOKING AS NEW_PRO
COUNT(T1.USER_ID)-COUNT(T2.USER_ID) AS NEW_PRO_DELIVERED
(COUNT(T1.USER_ID)-COUNT(T2.USER_ID))/ COUNT(DISTINCT T1.RESPONDED_PRO_BOOKING)- COUNT(DISTINCT
T2.RESPONDED_PRO_BOOKING AS NEW_PRO_UTIL
COUNT(DISTINCT T2.RESPONDED_PRO_BOOKING) AS OLD_PRO
COUNT(T2.USER_ID) AS OLD_PRO_DELIVERED,
COUNT(T2.USER_ID)/ COUNT(DISTINCT T2.RESPONDED_PRO_BOOKING) AS OLD_PRO_UTIL
FROM
Table T1
LEFT JOIN Table T2
ON T1. RESPONDED_PRO_BOOKING=T2. RESPONDED_PRO_BOOKING
AND DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)>=1
GROUP BY 1
Answer 6:
SELECT
CAST(T1.BDATE_FINAL, DATE) AS MTH,
CASE WHEN DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)=0 THEN ‘NEW’
WHEN DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)=1 THEN ‘Repeat’
WHEN DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)>1 THEN ‘Reactive’
ELSE ERROR
END AS PRO_STATE,
COUNT(DISTINCT T1. RESPONDED_PRO_ BOOKING) AS PRO_COUNT
FROM
Table T1
LEFT JOIN Table T2
ON T1. RESPONDED_PRO_ BOOKING=T2. RESPONDED_PRO_ BOOKING
GROUP BY 1,2
Answer 7:
SELECT
CAST(BDATE_FINAL, DATE) AS MTH,
COUNT(DISTINCT T1.RESPONDED_PRO_BOOKING) AS ACTIVE_PRO,
COUNT(DISTINCT T1.RESPONDED_PRO_BOOKING)- COUNT(DISTINCT T2.RESPONDED_PRO_BOOKING) AS CHURN_PRO,
COUNT(DISTINCT T1.RESPONDED_PRO_BOOKING)- COUNT(DISTINCT T2.RESPONDED_PRO_BOOKING)/ COUNT(DISTINCT
T1.RESPONDED_PRO_BOOKING) AS CHURN_PERC
FROM
Table T1
LEFT JOIN Table T2
ON T1. RESPONDED_PRO_BOOKING=T2. RESPONDED_PRO_BOOKING AND DATEDIFF(Month, T1.BDATE_FINAL, T2.
BDATE_FINAL)=-1
GROUP BY
1
Answer 8:
SELECT
CAST(T1.BDATE_FINAL, DATE) AS MTH ,
CASE WHEN DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)=0 THEN ‘NEW’
WHEN DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)=1 THEN ‘Repeat’
WHEN DATEDIFF(Month, T1.BDATE_FINAL, T2. BDATE_FINAL)>1 THEN ‘Reactive’
ELSE ERROR END AS PRO_STATE,
COUNT(T1. RESPONDED_PRO_ BOOKING) AS PRO_COUNT
COUNT(DISTINCT T1.RESPONDED_PRO_BOOKING)- COUNT(DISTINCT T2.RESPONDED_PRO_BOOKING) AS CHURN_PRO
FROM
Table T1
LEFT JOIN Table T2
ON T1. RESPONDED_PRO_BOOKING=T2. RESPONDED_PRO_BOOKING AND DATEDIFF(Month, T1.BDATE_FINAL, T2.
BDATE_FINAL)=-1
GROUP BY
1,2