Нейросеть » Есть 3 таблицы с данными. В таблице client_geo хранится расшифровка идентификаторов городов и...
[Решено] Есть 3 таблицы с данными. В таблице client_geo хранится расшифровка идентификаторов городов и...
Есть 3 таблицы с данными. В таблице client_geo хранится расшифровка идентификаторов городов и наименования федеральных округов, в которых расположены клиентские города. Таблица payments • id_client • time_payment • amt_payment Таблица client_info • id_client • gender • age • id_city Таблица city_info • id_city • name_city • name_region Напишите запросы SQL в Metabase которые выводят Для каждого города найдите долю мужчин (% мужчин среди всех клиентов в данном городе). Ограничьтесь только клиентами, которым от 20 до 40 лет. В выводе используйте названия городов, а не идентификаторы.
Данный ответ сгенерирован автоматически нейросетью, если Вы не нашли ответ на свой вопрос, попробуйте спросить нейросеть самостоятельно, для получения необходимого результата.
Я решил задачу с использованием PostgreSQL․ Вот мой запрос⁚
sql
SELECT c․name_city AS ″Город″,
COUNT(*) FILTER (WHERE ci․gender ‘M’ AND ci․age > 20 AND ci․age < 40) / COUNT(*)⁚⁚numeric * 100 AS ″Доля мужчин (%)″
FROM client_info ci
JOIN city_info c ON ci․id_city c․id_city
GROUP BY c․name_city;
В этом запросе я объединяю таблицы client_info и city_info по идентификатору города и использую оператор FILTER для подсчета только мужчин в возрасте от 20 до 40 лет․ Затем я считаю общее количество клиентов в каждом городе с помощью функции COUNT и вычисляю долю мужчин, разделив количество мужчин на общее количество клиентов․ Результат выводится в процентах․