Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Группировка по периодам / 14 сообщений из 14, страница 1 из 1
15.04.2004, 12:48
    #32482563
Bezum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
Моя проблемма заключается в группировке попериодам. Тоесть, у меня есть таблица, в которой, скажем 2 поля дата и деньги. Так вот, мне надо сгруппировать данные таким образом чтоб в результате получать таблицу с суммами зп периоды (по неделям, по месяцам, по кварталам). Такое возможно при помощи SQL??? Если возможно то как, если нет, подскажите другие пути решения. База Access, среда разработки C++Builder или Delphi не критично.
...
Рейтинг: 0 / 0
15.04.2004, 12:52
    #32482575
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
делаешь группировку по вычисляемому полю датепарт, но только будут группы только для тех месяцев кварталов и годов по которым есть данные
...
Рейтинг: 0 / 0
15.04.2004, 13:39
    #32482675
Bezum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
Данные то там по всем месяцам есть а вот что такое:"делаешь группировку по вычисляемому полю датепарт"??? Мне не совсем понятно group by Делает группировку по дням, а по неделям месяцам и кварталам, не понятно как
...
Рейтинг: 0 / 0
15.04.2004, 13:44
    #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
15.04.2004, 13:54
    #32482700
Bezum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
А откуда взять эту чудную функциюDatePart()? SQL, который в Access не понимает ее
...
Рейтинг: 0 / 0
15.04.2004, 14:05
    #32482723
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
А в SQL (который Access) - есть чудная функция Format :)

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

Но в данном конкретном случае они вам не нужны :) (Этож опциональные параметры :) )
...
Рейтинг: 0 / 0
15.04.2004, 14:15
    #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
15.04.2004, 14:16
    #32482754
Bezum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
Тоесть для группировки по годам должно проскачить примерно следующее???
Select
Data
sum(cena)
From
Fakt
group by DatePart(yyyy ,Data )
Аннет, не проходит
Если можно покажите пример
...
Рейтинг: 0 / 0
15.04.2004, 14:21
    #32482767
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка по периодам
Первый параметр строковый: DatePart("yyyy", MyDate)

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

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

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


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