Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
АВ
Зарегистрирован: 02.07.2009 Сообщения: 31
|
Добавлено: Чт Май 15, 2014 4:14 pm Заголовок сообщения: группировка по датам |
|
|
Добрый день!
Есть таблица объектов адресации (адресный план). В ней помимо структурированной адресной информации есть поля "дата учета" и "дата учета изменений". Типы полей - "дата".
Вопрос можно ли сгруппировать объекты адресации по временным периодам (месяцам, кварталам, годам)? то есть ответить на вопрос сколько учетных действий произведено за каждый отчетный период?
Группировка по дням, в которые произведены учетные действия, получается, но как сгруппировать информацию по периодам? |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
Добавлено: Чт Май 15, 2014 4:50 pm Заголовок сообщения: |
|
|
select count(*) from имятаблицы where "дата учета изменений" >= датаначалапериода and "дата учета изменений" <= датаокончанияпериода |
|
Вернуться к началу |
|
|
АВ
Зарегистрирован: 02.07.2009 Сообщения: 31
|
Добавлено: Пт Май 16, 2014 10:54 am Заголовок сообщения: |
|
|
Результат данного запроса - группировка учетных действий за каждый конкретный день втечение задаваемого периода. Но мне необходимо чтобы группировка была сразу по периодам (например месяцам, кварталам), а не по дням. |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пт Май 16, 2014 6:45 pm Заголовок сообщения: |
|
|
Не знаю, правильно ли понял вопрос, но может быть речь об этом.
Имеем таблицу TestTb с полем DT типа дата (с датой фиксирующей событие).
Подсчет количества событий:
За год
Select Count(*) from TestTb where Year(DT)=2013 into Selection
За месяц
Select Count(*) from TestTb where Year(DT)=2013 And Month(DT)=5 into Selection
За квартал
Select Count(*) from TestTb where Year(DT)=2013 And (Month(DT)=4 Or Month(DT)=5 Or Month(DT)=6) into Selection |
|
Вернуться к началу |
|
|
АВ
Зарегистрирован: 02.07.2009 Сообщения: 31
|
Добавлено: Пн Май 19, 2014 10:15 am Заголовок сообщения: |
|
|
Спасибо запрос работает.
А можно ли сделать так чтобы в результате одного запроса группировка по годам сформировалась сразу по всем годам:
например:
2010 г. - 55
2011 г. - 145
2012 г. - 85
В приведенном примере запроса необходимо каждый раз отдельно для каждого года задавать период. Если по годам это не так тяжко, то разбивка по месяцам очень утомляет. |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Пн Май 19, 2014 1:47 pm Заголовок сообщения: |
|
|
В подобном случае самый простой выход написать программу на MB. |
|
Вернуться к началу |
|
|
thegeo
Зарегистрирован: 17.01.2012 Сообщения: 119
|
Добавлено: Вс Июн 15, 2014 1:51 pm Заголовок сообщения: |
|
|
по годам:
Select Count(*), Year(DT) "YYYY" from TestTb where Year(DT)>2000 group by YYYY into Selection
по году с разбивкой по месяцам:
Select Count(*), DT from TestTb where Year(DT )=2010 And Month(DT )>0 group by DT into Selection |
|
Вернуться к началу |
|
|
|