powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Группировка по периодам
14 сообщений из 14, страница 1 из 1
Группировка по периодам
    #32482563
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Моя проблемма заключается в группировке попериодам. Тоесть, у меня есть таблица, в которой, скажем 2 поля дата и деньги. Так вот, мне надо сгруппировать данные таким образом чтоб в результате получать таблицу с суммами зп периоды (по неделям, по месяцам, по кварталам). Такое возможно при помощи SQL??? Если возможно то как, если нет, подскажите другие пути решения. База Access, среда разработки C++Builder или Delphi не критично.
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482575
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаешь группировку по вычисляемому полю датепарт, но только будут группы только для тех месяцев кварталов и годов по которым есть данные
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482675
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Данные то там по всем месяцам есть а вот что такое:"делаешь группировку по вычисляемому полю датепарт"??? Мне не совсем понятно group by Делает группировку по дням, а по неделям месяцам и кварталам, не понятно как
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482681
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поквартально

group by DatePart("q", MYdate)


F1

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

The DatePart function syntax has these named arguments:

Part Description 
interval Required. String expression that is the interval of time you want to return. 
date Required. Variant (Date) value that you want to evaluate. 
firstdayofweek Optional. A constant that specifies the first day of the week. If not specified, Sunday is assumed. 
firstweekofyear Optional. A constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January  1  occurs. 


Settings

The interval argument has these settings:

Setting Description 
yyyy Year 
q Quarter 
m Month 
y Day of year 
d Day 
w Weekday 
ww Week 
h Hour 
n Minute 
s Second 
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482700
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А откуда взять эту чудную функциюDatePart()? SQL, который в Access не понимает ее
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482723
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в SQL (который Access) - есть чудная функция Format :)

Хотя - о чем это я :) DatePart там тоже есть (по крайней мере я на Access 97 посмотрел - там есть )
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482743
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно я немного глуп, но синтаксис date[,firstdayofweek[, firstweekofyear]] немного не понимаю.
Что есть firstdayofweek???
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482747
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значит F1 у меня плохой :) Не находит этой функции в помощи.
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482748
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описание есть в help (объяснять долго)

Но в данном конкретном случае они вам не нужны :) (Этож опциональные параметры :) )
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482753
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция DatePart
Возвращает значение типа Variant (Integer), содержащее указанный компонент даты.

Синтаксис

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

Синтаксис функции DatePart содержит следующие именованные аргументы:

Элемент Описание
interval Обязательный. Строковое выражение, определяющее тип возвращаемого временного интервала.
date Обязательный. Значение типа Variant (Date), представляющее дату, подлежащую обработке.
Firstdayofweek Необязательный. Константа, указывающая первый день недели. Если этот аргумент опущен, считается, что неделя начинается с воскресенья.
Firstweekofyear Необязательный. Константа, указывающая первую неделю года. Если этот аргумент опущен, первой неделей считается неделя, содержащая 1 января.
Значения

Ниже перечислены допустимые значения аргумента interval:

Значение Описание
yyyy Год.
Q Квартал.
m Месяц.
Y День года.
D День месяца.
w День недели.
ww Неделя.
h Часы.
n Минуты.
s Секунды.
Ниже перечислены допустимые значения аргумента firstdayofweek:

Константа Значение Описание
vbUseSystem 0 Используется значение NLS API.
vbSunday 1 Воскресенье (по умолчанию).
vbMonday 2 Понедельник.
vbTuesday 3 Вторник.
vbWednesday 4 Среда.
vbThursday 5 Четверг.
vbFriday 6 Пятница.
vbSaturday 7 Суббота.
Ниже перечислены допустимые значения аргумента firstweekofyear:

Константа Значение Описание
vbUseSystem 0 Используется значение NLS API.
vbFirstJan1 1 Неделя, которая содержит 1 января (по умолчанию).
vbFirstFourDays 2 Первая неделя, которая содержит по крайней мере четыре дня нового года.
vbFirstFullWeek 3 Первая полная неделя года.
Дополнительные сведения

Функция DatePart предназначена для определения указанного компонента даты. Например, с помощью этой функции можно определить день недели или текущий час.
Аргумент firstdayofweek влияет на вычисления, использующие временные интервалы типа "w" и "ww".
Если дата задается как литерал даты, указанный год становится постоянной частью даты. Однако если дата заключается в прямые кавычки (" "), а год опущен, то при каждом вычислении выражения даты в него будет подставляться текущий год. Это позволяет написать код, который может использоваться в течение нескольких лет.
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482754
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тоесть для группировки по годам должно проскачить примерно следующее???
Select
Data
sum(cena)
From
Fakt
group by DatePart(yyyy ,Data )
Аннет, не проходит
Если можно покажите пример
...
Рейтинг: 0 / 0
Группировка по периодам
    #32482767
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый параметр строковый: DatePart("yyyy", MyDate)

А для группировки по годам можно использовать функцию Year(): Yaer(MyDate)
...
Рейтинг: 0 / 0
Группировка по периодам
    #32483069
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторАннет, не проходит
Если можно покажите пример

еще бы проходило...
правильно запросы писать надо

Код: plaintext
1.
2.
Select DatePart( "q"  ,Data ), sum(cena) 
From Fakt 
group by DatePart( "q"  ,Data ) 
...
Рейтинг: 0 / 0
Группировка по периодам
    #32483497
Bezum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо. Помогло.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Группировка по периодам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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