powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Группировка по периодам.
3 сообщений из 3, страница 1 из 1
Группировка по периодам.
    #32482559
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя проблемма заключается в группировке попериодам. Тоесть, у меня есть таблица, в которой, скажем 2 поля дата и деньги. Так вот, мне надо сгруппировать данные таким образом чтоб в результате получать таблицу с суммами зп периоды (по неделям, по месяцам, по кварталам). Такое возможно при помощи SQL??? Если возможно то как, если нет, подскажите другие пути решения. База Access, среда разработки C++Builder или Delphi не критично.
...
Рейтинг: 0 / 0
Группировка по периодам.
    #32483653
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема здесь заключается не в SQL, а в интерпретации периодов.
Как, например, компьютер будет знать, что 01.01. принадлежит первой неделе года и первому кварталу, если мы ему об этом не сообщим?! (С месяцем все просто: используется функция определения номера месяца)

Для корректной работы с датами должна быть специальная таблица, которая связывала бы конкретную дату и номер недели или квартала. Например такая:

день c день по неделя квартал
01.01.2004 04.01.2004 1 1
05.01.2004 11.01.2004 2 1
12.01.2004 18.01.2004 3 1 и т.д.

далее: SQL-запрос пишется примерно так (должен быть параметр, задаваемый пользователем):
1. Отбираем интересующий нас период:
select .... from ... where <неделя>=<параметр> into cursor query

2. Отбираем данные за период
select ..... from ..... where <data> between query.<день с> and query.<день по> into ....

По другому вроде бы никак...
...
Рейтинг: 0 / 0
Группировка по периодам.
    #32485188
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле, может быть не одна таблица, а целая группа таблиц, описывающих структуру времени.

Например, таблицы год, полугодие, квартал, месяц, декада, неделя, день.
Если есть такие таблицы, то все группировки делаются легко - делаете джойн по дате к таблице день, а к ней можно приджойнить неделю, ну, и так далее.
Можно и одну таблицу иметь денормализованную, где будет информация о днях, неделях, месяцах, годаХ храниться. Джойн с этой таблицей и группировка по её полям решает Вашу задачу.

Как создать и наполнить такие таблицы можно почитать здесь .

С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Группировка по периодам.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]