SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 10.12.2019 12:59:46

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

Помогите с решением задания по SQL

Здравствуйте уважаемый форумчане!

Я новичок в SQLвот решаю задание. Второй ден не могу понять как с ним справится.
Задача звучит так:
В таблице хранятся сведения  о еженедельных продажах продукта.
Необходимо настроить автоматическое преобразование еженедельных значений в ежемесячные. Продажи в переходных неделях (часть недели в одном месяце, часть в другом) необходимо распределить по календарным дням.
В данном примере продажи за неделю, окончившуюся 05.03.2013, необходимо распределить следующим образом 2 дня на февраль, 5  дней на март.
Результатом решения задачи является SQL код, который позволит автоматически получать преобразованные данные в формате «Таблица результат». Таблица с данными условно называется Test.
ТАблица Test
Дата            Сумма
26.02.2013  312,00
05.03.2013  833,00
12.03.2013  225,00
19.03.2013  453,00
26.03.2013  774,00
02.04.2013  719,00
09.04.2013  136,00
16.04.2013  133,00
23.04.2013  157,00
30.04.2013  850,00
07.05.2013  940,00
14.05.2013  933,00
21.05.2013  422,00
28.05.2013  952,00
04.06.2013  136,00
11.06.2013  701,00
ИТого          8 676,00

Таблица результат
Дата мес     Сумма
28.фев.13   550,00
31.мар.13    2 560,57
30.апр.13    1 481,43
31.май.13    3 305,29
30.июн.13   778,71
31.июл.13   0,00
Итого
8 676,00

Не могу сделать верный запрос. Помогите пожалуйста  решением
Работаю в среде MySQLWorkbench

Неактивен

 

#2 22.12.2019 04:26:06

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Помогите с решением задания по SQL

Это учебное задание (лабораторная работа, курсовая или что-то такое) или реальная рабочая задача?
То есть какова постановка? Можно ли сделать хранимой процедурой или именно ванильным sql'ем необходимо?

Если это рабочая задача (не учебная), то я бы скорее рекомендовал выкачать строки этой таблицы на клиент (уже на чем его пишете c++, php, c# или что там у Вас), отсортировав по дате по возрастанию и спокойно построил бы результирующую таблицу средствами клиента.

>В данном примере продажи за неделю, окончившуюся 05.03.2013, необходимо распределить следующим образом 2 дня на февраль, 5  дней на март.
Вот такие фокусы делать средствами именно sql-запроса - это всё же больше напоминает садомазо.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

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