Как решить задачу по SQL?
описание задачи:
Таблица БД содержит следующие столбцы:
Sales(Date, ProdID, OrderID, ManagerID, Sum)
Напишите SQL запрос, который будет показывать менеджера c самыми большими продажами по конкретным заказам за 2019 год (с разбивкой по месяцам).
Запрос должен возвращать Месяц, Менеджера (ManagerID), Номера заказов (OrderID) и Сумму(Sum).
Моё решение:
SELECT MONTH(DATE), ManagerID AS Менеджер, OrderID AS Номера заказов, max(Sum) AS Сумма FROM Sales WHERE Sum = max(Sum) and YEAR(DATE) = 2019; |
SELECT MONTH(DATE), ManagerID AS Менеджер, OrderID AS Номера заказов, max(Sum) AS Сумма FROM Sales WHERE Sum = max(Sum) and YEAR(DATE) = 2019;
Как исправить запрос, чтобы корректно работал?
Дополнительно:
Чего тут править? выкинуть и начать заново. Но соблюдая синтаксис и думая о том, какая должна быть логика, а не просто набрасывать буквы.
c самыми большими продажами по конкретным заказам = having
ну и сам подлиннее будет
SELECT MONTH(DATE), ManagerID AS Менеджер, OrderID AS Номера заказов, Sum AS Сумма FROM Sales WHERE Sum IN ( SELECT Sum FROM book GROUP BY Sum HAVING YEAR(DATE) = 2019); |
SELECT MONTH(DATE), ManagerID AS Менеджер, OrderID AS Номера заказов, Sum AS Сумма FROM Sales WHERE Sum IN ( SELECT Sum FROM book GROUP BY Sum HAVING YEAR(DATE) = 2019);
Примерно так?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для решения задачи по SQL, вам необходимо следовать определенной последовательности действий. Вот несколько шагов, которые могут помочь вам успешно выполнить задачу:
1. Определите цель запроса: Прежде чем начать писать SQL запрос, определите, что именно вы хотите получить в результате. Это поможет вам сформулировать запрос более точно.
2. Напишите структуру запроса: Определите основные таблицы, с которыми вам нужно работать, и связи между ними. Это поможет вам понять, какие данные вам нужно извлечь.
3. Используйте правильные операторы: В SQL есть различные операторы, такие как SELECT, INSERT, UPDATE, DELETE и другие. Убедитесь, что выбираете правильный оператор для вашей задачи.
4. Напишите условия: Для извлечения конкретных данных используйте условия WHERE, чтобы отфильтровать результаты. Это поможет сузить выборку данных.
5. Используйте агрегатные функции: Если вам нужно выполнить вычисления над данными, используйте агрегатные функции, такие как COUNT, SUM, AVG и др.
Пример SQL запроса на языке PHP:
18 ORDER BY name ASC"; $result = mysqli_query($connection, $query); if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { echo "Name: " . $row["name"] . " | Age: " . $row["age"] . "<br>"; } } else { echo "No results found."; } mysqli_close($connection); ?>
Следуя этим шагам и примеру запроса, вы сможете успешно решить задачу по SQL. Не забывайте также обеспечить безопасность вашего SQL кода, избегая SQL инъекций.