-- Մարքեթոլոգները գործարկում են պրոմո-камպանիաներ ծառայության հավելվածում: Կան երկու աղյուսակներ:
-- campaigns – արխիվի ցանկ
-- - campaign – արխիվի անուն
-- - action_type – արխիվի տեսակ: "push" կամ "banner"
-- communications – բեկենդի լոգը, որտեղ նշվում են այս արխիվների հաղորդագրությունների ուղարկումները օգտվողներին
-- - user_id – օգտվողի նույնականացման համար
-- - campaign – արխիվի անուն
-- - status – իրադարձության կարգավիճակ: "success" կամ "error"
---------------------------------------------------------------------------
-- 1. սկզբում, campaigns աղյուսակում կա 4 տող:
-- | campaign | action_type |
-- |-------------|-------------|
-- | promo_dogs | push | <- պատահական կրկնօրինակում
-- | promo_cats | banner |
-- | promo_cats | banner | <- երկու տող
-- | promo_rats | push |
-- Նույնպես հայտնի է, որ:
-- promo_dogs և promo_cats արխիվները հաջողությամբ իրականացվել են 100 օգտվողների վրա, և յուրաքանչյուր օգտվող ստացել է մեկ հաղորդագրություն,
-- իսկ promo_rats-ը միայն պլանավորման փուլում է:
-- 1.1 Ինչ կցուցադրվի հարցում:
SELECT
campaign,
COUNT(*) as rows,
COUNT(DISTINCT co.user_id) AS users
FROM campaigns AS ca
INNER JOIN communications AS co
ON ca.campaign = co.campaign
GROUP BY ca.campaign AS campaign
-- 1.2 Ինչպես կփոխվի պատասխանն, եթե փոխվի JOIN տեսակը՝ LEFT?