Sobes.tech
Senior

-- # -- Маркетолозите стартират промоционални кампании в приложението на услугата. Има две таблици: -- # -- 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 -- # -- 1.2 Как ще се промени отговорът, ако променим типа JOIN на LEFT? -- # -- 1.3 Посочете реда на изпълнение на операторите в тази заявка. -- Отговор: promo_dogs ... ...