|
|
|
Группировка по периодам.
|
|||
|---|---|---|---|
|
#18+
Моя проблемма заключается в группировке попериодам. Тоесть, у меня есть таблица, в которой, скажем 2 поля дата и деньги. Так вот, мне надо сгруппировать данные таким образом чтоб в результате получать таблицу с суммами зп периоды (по неделям, по месяцам, по кварталам). Такое возможно при помощи SQL??? Если возможно то как, если нет, подскажите другие пути решения. База Access, среда разработки C++Builder или Delphi не критично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 12:47 |
|
||
|
Группировка по периодам.
|
|||
|---|---|---|---|
|
#18+
Проблема здесь заключается не в 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 .... По другому вроде бы никак... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2004, 08:12 |
|
||
|
Группировка по периодам.
|
|||
|---|---|---|---|
|
#18+
На самом деле, может быть не одна таблица, а целая группа таблиц, описывающих структуру времени. Например, таблицы год, полугодие, квартал, месяц, декада, неделя, день. Если есть такие таблицы, то все группировки делаются легко - делаете джойн по дате к таблице день, а к ней можно приджойнить неделю, ну, и так далее. Можно и одну таблицу иметь денормализованную, где будет информация о днях, неделях, месяцах, годаХ храниться. Джойн с этой таблицей и группировка по её полям решает Вашу задачу. Как создать и наполнить такие таблицы можно почитать здесь . С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 00:21 |
|
||
|
|

start [/forum/topic.php?fid=56&fpage=46&tid=2016796]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 135ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...