Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача по SQL

Kentyan Ученик (102), на голосовании 1 год назад
Теперь можно проверить, как отличаются данные по городам. Посчитайте общую выручку, количество заказов, среднюю выручку для каждого города США. Нужное поле — billing_city.
НЕ понимаю, что делаю не так
SELECT SUM(total),
billing_city,
COUNT(DISTINCT invoice_id),
ROUND(AVG(total))
FROM invoice
WHERE billing_country = 'USA'
GROUP BY billing_city -- впишите категорию для группировки;
Голосование за лучший ответ
Роман Крит Мастер (1394) 1 год назад
 USE mydatabase; 

SELECT SUM(total), billing_city, COUNT(DISTINCT invoice_id), ROUND(AVG(total))
FROM invoice
WHERE billing_country = 'USA'
GROUP BY billing_city;
Я вижу, что у вас не указано название базы данных, к которой вы хотите подключиться. Вы должны указать название базы данных перед выполнением запроса.
Например, если ваша база данных называется "mydatabase", запрос будет выглядеть так как я указал его выше.
Помимо этого, убедитесь, что вы правильно указали названия столбцов и таблиц в вашей базе данных.
Android-man Профи (581) 1 год назад
Попробуйте так
 SELECT billing_city,  
COUNT(DISTINCT invoice_id) AS num_orders,
SUM(total) AS total_revenue,
ROUND(AVG(total), 2) AS avg_revenue
FROM invoice
WHERE billing_country = 'USA'
GROUP BY billing_city;
Android-manПрофи (581) 1 год назад
В этом запросе мы группируем данные по городу, используя поле billing_city. Затем мы используем функцию COUNT(DISTINCT invoice_id) для подсчета количества уникальных заказов в каждом городе, функцию SUM(total) для расчета общей выручки и функцию AVG(total) для расчета средней выручки. Мы также используем функцию ROUND() для округления средней выручки до двух знаков после запятой.

Надеюсь, это поможет!
Похожие вопросы