SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.02.2023 06:35:21

boogeyman
Участник
Зарегистрирован: 27.02.2023
Сообщений: 1

помогите с Написанием SQL запросов

1. Написать SQL запрос, в результате которого выводится пять самых крупных по количеству поставок товаров до 2017 года, которые относятся к категории «Monitors». Нужно вывести название товаров, дату поставки без учета времени, количество и сумму поставки.

SELECT p.product, Date(a.action_date), qty, price
    FROM actions
    JOIN products p ON a.product_id=p.id
    WHERE p.category_id=2 AND YEAR(a.action_date) < 2017
    ORDER BY qty DESC
    LIMIT 5
Как вывести еще и сумму поставки?

2.2. Написать SQL запрос, в результате которого выводятся данные о поступлении товаров из таблицы actions за январь 2016 года. Вместо кодов должны быть названия товаров и поставщиков. Данные должны быть отсортированы в убывающем порядке по дате и времени.

SELECT
    DATE(actions.action_date) AS act_date,
    TIME(actions.action_date),
    suppliers.supplier,
    products.product
FROM
    actions
        INNER JOIN
    suppliers ON actions.supplier_id = suppliers.id
        INNER JOIN
    products ON actions.product_id = products.id
WHERE
    actions.action_date BETWEEN '2016-01-01' AND '2016-01-31'
ORDER BY action_date DESC.
тут вроде все в порядке.

3.3. Написать SQL запрос, в результате которого выводится список наименований товаров, хотя бы один раз поступивших в 2017 году. В списке не должно быть повторения названий товаров.

SELECT COUNT(DISTINCT number) FROM
    DATE(actions.action_date) AS act_date, products.product
FROM
    actions
        INNER JOIN
    products ON actions.product_id = products.id
WHERE
    actions.action_date BETWEEN '2017-01-01' AND '2017-12-31'
ORDER BY product_id ASC;

Не могу убрать повторяющееся товары

Отредактированно boogeyman (27.02.2023 06:36:40)


Прикрепленные файлы:
Attachment Icon 789.png, Размер: 141,609 байт, Скачано: 59

Неактивен

 

#2 27.02.2023 12:49:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5823

Re: помогите с Написанием SQL запросов

boogeyman написал:

1. Написать SQL запрос, в результате которого выводится пять самых крупных по количеству поставок товаров до 2017 года, которые относятся к категории «Monitors». Нужно вывести название товаров, дату поставки без учета времени, количество и сумму поставки.

Как вывести еще и сумму поставки?

SELECT p.product, Date(a.action_date), qty, qty*price as `сумма поставки`
    FROM actions
    JOIN products p ON a.product_id=p.id
    WHERE p.category_id=2 AND YEAR(a.action_date) < 2017
    ORDER BY qty DESC
    LIMIT 5



boogeyman написал:

Не могу убрать повторяющееся товары

SELECT DISTINCT products.product
FROM
    actions
        INNER JOIN
    products ON actions.product_id = products.id
WHERE
    actions.action_date BETWEEN '2017-01-01' AND '2017-12-31'
ORDER BY product_id ASC;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson