Sobes.tech
Junior

Botforgalom aránya A csalás elleni csapat kifejlesztett egy mechanizmust a botforgalom felismerésére az áruház weboldalán: amikor egy bot belép az oldalra, a URL paramétereibe hozzáadódik a "bot" szubsztring (kis- és nagybetűk figyelmen kívül hagyásával). Ha a user_id legalább egyszer decemberben botként lett azonosítva, akkor mindig botként kell kezelni. Tanulmányozza a felhasználók weboldali látogatásainak adathalmazát, és számolja ki a botok arányát a teljes felhasználószámhoz képest 2024 decemberében (kerekítse egy tizedesre). Bemeneti formátum Visits tábla: - event_date (date) — látogatás dátuma - user_id (int) — egyedi felhasználói azonosító - url (string) — az oldal, ahová a látogatás történt Az adatok nem tartalmaznak hiányzó vagy hibás értékeket. Kimeneti formátum A lekérdezésnek egy olyan táblát kell visszaadnia, amely a következő mezőket tartalmazza: - share (float) — a botok aránya a teljes felhasználószámhoz képest decemberben, egy tizedesre kerekítve.

sobes.tech MI

Válasz az MI-től

sql WITH bot_users AS ( SELECT DISTINCT user_id FROM visits WHERE LOWER(url) LIKE '%bot%' AND event_date BETWEEN '2024-12-01' AND '2024-12-31' ), all_users AS ( SELECT DISTINCT user_id FROM visits WHERE event_date BETWEEN '2024-12-01' AND '2024-12-31' ) SELECT ROUND(COUNT(DISTINCT b.user_id) * 100.0 / COUNT(DISTINCT a.user_id), 1) AS share FROM all_users a LEFT JOIN bot_users b ON a.user_id = b.user_id;


Этот запрос сначала находит всех пользователей, у которых в декабре 2024 был хотя бы один визит с "bot" в URL (без учета регистра), затем всех пользователей в декабре. После этого вычисляет долю ботов от общего числа пользователей и округляет до одного знака после запятой.