Sobes.tech
Junior

Anteil des Bot-Traffics Das Anti-Betrugs-Team hat einen Mechanismus entwickelt, um Bot-Traffic auf der Website des Shops zu erkennen: Wenn ein Bot die Website betritt, wird die Substring "bot" (ohne Berücksichtigung der Groß-/Kleinschreibung) zu den URL-Parametern hinzugefügt. Wenn die user_id im Dezember mindestens einmal als Bot identifiziert wurde, soll sie immer als Bot betrachtet werden. Untersuchen Sie den Datensatz mit den Nutzerbesuchen auf der Website und berechnen Sie den Anteil der Bots an der Gesamtzahl der Nutzer im Dezember 2024 (auf eine Nachkommastelle gerundet). Eingabeformat Tabelle visits: - event_date (date) — Besuchsdatum - user_id (int) — eindeutiger Nutzeridentifikator - url (string) — Link, über den die Besuch erfolgt ist Die Daten enthalten keine fehlenden oder fehlerhaften Werte. Ausgabeformat Die Abfrage sollte eine Tabelle mit den Feldern zurückgeben: - share (float) — Anteil der Bots an der Gesamtzahl der Nutzer im Dezember, auf eine Nachkommastelle gerundet.

sobes.tech KI

Antwort von AI

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 (без учета регистра), затем всех пользователей в декабре. После этого вычисляет долю ботов от общего числа пользователей и округляет до одного знака после запятой.