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

Как из года получить стобцы по месяцам?

Trumans Garri Ученик (102), на голосовании 1 год назад
1.
Посчитайте сумму выручки, полученную от продаж каждого хот-дога, за каждый месяц. Отобразите в итоговой таблице номер месяца, название хот-дога и сумму выручки.




SELECT name_hotdog,
EXTRACT (MONTH FROM date '2022-01-01') AS mo,

SUM(price*quantity) AS total
FROM hotdog
WHERE date BETWEEN '2022-01-01' AND '2022-12-31'
GROUP BY name_hotdog, mo;

Через экстракт могу получить только столбец за 1 выбранный месяц, как можно получить за весь год? типо месяц 1 столько, месяц 2 столько и так далее? все перерыл так и нифига не понял
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (469645) 1 год назад
EXTRACT (MONTH FROM date '2022-01-01') AS mo,
Почему из конкретной даты? Добывай месяц из даты продажи.
Trumans GarriУченик (102) 1 год назад
SELECT name_hotdog,
EXTRACT(MONTH FROM date) AS mo,
SUM(price*quantity) AS total
FROM hotdog
WHERE date BETWEEN '2022-01-01' AND '2022-12-31'
GROUP BY name_hotdog, mo;

Там вот такой получился ответ, оказалось, что в разных версиях SQL идет разные значениея вывода данных за период, в некоторых через MONTH(date) ,а в некоторых через EXTRACT(MONTH from date), ( при том, что при вводе конкретной дате или же делание через период, данные будут браться за 1 месяц вне зависимости от условий которые будут прописаны далее.
пиу Знаток (262) Trumans Garri, спасибо помогло, капец из за того, что не сделал AS и обращался в группировке по дате он мне выводил не корректные данные, спасибо
пиу Знаток (262) 1 год назад
у меня такая же хрень, если разобрался дай знать, я со своей стороны также отпишусь если найду решение )
Ксения КокшановаУченик (197) 12 месяцев назад
Добрый день! Смогши решить? Я сегодня на ней зависла(
Ксения Кокшанова, SELECT EXTRACT (MONTH FROM date) AS Month, name_hotdog, SUM (price*quantity) FROM hotdog GROUP BY name_hotdog, EXTRACT (month FROM date) Для второй части задачи ORDER BY name_hotdog DESC, EXTRACT (month FROM date) ASC ??
Артем Захаров zakharov Ученик (97) 1 год назад
SELECT SUM(price * quantity), EXTRACT (MONTH FROM DATE), name_hotdog
FROM hotdog
GROUP BY name_hotdog, EXTRACT (MONTH FROM DATE);
СантаПрофи (738) 2 месяца назад
не работает
Сергей Фатеев Ученик (112) 1 год назад
SELECT name_hotdog,
EXTRACT (month FROM date) AS month,
SUM(quantity * price) AS total
FROM hotdog
GROUP BY EXTRACT (month FROM date), name_hotdog
ORDER BY EXTRACT (month FROM date), name_hotdog
СантаПрофи (738) 2 месяца назад
не работает
Юрий Еленов Ученик (123) 1 год назад
SELECT name_hotdog AS Название_хотдога,
EXTRACT (month FROM date) AS Месяц,
SUM(quantity * price) AS Сумма_выручки
FROM hotdog
GROUP BY EXTRACT (month FROM date), name_hotdog
ORDER BY EXTRACT (month FROM date), name_hotdog
Екатерина Фадеева Ученик (121) 1 год назад
SELECT
name_hotdog,
EXTRACT(month FROM date) AS number_month,
SUM(price*quantity) AS revenue
FROM hotdog
GROUP BY number_month,name_hotdog
ORDER BY number_month,name_hotdog
Арина Калитвенцева Ученик (124) 1 год назад
SELECT EXTRACT(month FROM date) AS month,
name_hotdog,
SUM(price*quantity) AS summ
FROM hotdog
GROUP BY month, name_hotdog
СантаПрофи (738) 2 месяца назад
Только ваш запрос сработал! У всех остальных выводило, что результат не совпадает с ожидаемым
Taxim Знаток (285) 1 год назад
  1. Посчитайте сумму выручки, полученную от продаж каждого хот-дога, за каждый месяц. Отобразите в итоговой таблице номер месяца, название хот-дога и сумму выручки.
  2. Дополните предыдущий запрос. Отсортируйте таблицу по названию хот-дога в обратном алфавитном порядке, а затем — по месяцу в порядке возрастания.

SELECT EXTRACT (MONTH FROM date) AS Month,
name_hotdog,
SUM (price*quantity)
FROM hotdog
GROUP BY name_hotdog, EXTRACT (month FROM date)
ORDER BY name_hotdog DESC, EXTRACT (month FROM date) ASC
Семен ЛавренковУченик (162) 1 год назад
правильно!
Миша Ученик (137) 1 год назад
SELECT EXTRACT (MONTH FROM DATE),
name_hotdog,
SUM (price*quantity)
FROM hotdog
GROUP BY EXTRACT (MONTH FROM DATE), name_hotdog
Никита Чебаев Ученик (117) 4 месяца назад
SELECT EXTRACT(MONTH FROM date),
name_hotdog,
SUM(quantity*price)
FROM hotdog
GROUP BY EXTRACT(MONTH FROM date),
name_hotdog
Похожие вопросы