Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на усреднение значения по времени / 7 сообщений из 7, страница 1 из 1
29.11.2016, 17:55
    #39357172
korochinskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
Есть таблица Journal_TWC_201_2. Необходимо сделать выборку данных из нее для того чтобы потом сделать GROUP BY по времени.
Столбцы jDate - дата время, jFactDose - decimal значение.
Т.е:
jDate - было (время усреднения, например, 15 минут)
25.04.2016 15:30:08
25.04.2016 15:31:07
25.04.2016 15:38:03
25.04.2016 15:40:08
25.04.2016 15:45:02
25.04.2016 15:48:01

jDate - стало
25.04.2016 15:30:00
25.04.2016 15:30:00
25.04.2016 15:30:00
25.04.2016 15:30:00
25.04.2016 15:45:00
25.04.2016 15:45:00

Для SQL выборку сделал и все корректно работает
Код: sql
1.
2.
SELECT DateAdd(n, 15 * (DateDiff(n, '01.01.1900', jDate) / 15), '01.01.1900') AS dateTmp, jFactDose 
FROM Journal_TWC_201_2



Пытаюсь сделать эту выборку для Access
Код: sql
1.
SELECT DateAdd("n", 15 * (DateDiff("n", "01.01.1900", jDate) / 15), "01.01.1900") AS dateTmp, jFactDose FROM Journal_TWC_201_2



Почему то при выборке только обнуляются секунды... Помогите пожалуйста правильно переделать выборку.
...
Рейтинг: 0 / 0
29.11.2016, 18:54
    #39357227
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
Умножь на 96, округли и подели обратно.
...
Рейтинг: 0 / 0
29.11.2016, 19:54
    #39357274
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
korochinskiy,
ещё вариант
Код: sql
1.
2.
SELECT Format(jDate, "dd.mm.yyyy hh:" & CStr((Format(jDate, "n") \ 15) * 15) & ":00") AS dateTmp, jFactDose
FROM Journal_TWC_201_2
...
Рейтинг: 0 / 0
29.11.2016, 19:59
    #39357277
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
korochinskiy,
fix
Код: sql
1.
2.
SELECT CDate(Format(jDate, "dd.mm.yyyy hh:" & CStr((Format(jDate, "n") \ 15) * 15) & ":00")) AS dateTmp, jFactDose
FROM Journal_TWC_201_2
...
Рейтинг: 0 / 0
29.11.2016, 20:31
    #39357290
korochinskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
guest_rusimportkorochinskiy,
fix
Код: sql
1.
2.
SELECT CDate(Format(jDate, "dd.mm.yyyy hh:" & CStr((Format(jDate, "n") \ 15) * 15) & ":00")) AS dateTmp, jFactDose
FROM Journal_TWC_201_2


Спасибо, все заработало. А можете объяснить почему в SQL работало, а в Access нет? Я просто не очень в Access разбираюсь...
...
Рейтинг: 0 / 0
29.11.2016, 20:44
    #39357295
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
korochinskiyguest_rusimportkorochinskiy,
fix
Код: sql
1.
2.
SELECT CDate(Format(jDate, "dd.mm.yyyy hh:" & CStr((Format(jDate, "n") \ 15) * 15) & ":00")) AS dateTmp, jFactDose
FROM Journal_TWC_201_2


Спасибо, все заработало. А можете объяснить почему в SQL работало, а в Access нет? Я просто не очень в Access разбираюсь...

вероятно дело всё в целочисленном делении, если ваш запрос переписать так
Код: sql
1.
SELECT DateAdd("n", 15 * (DateDiff("n", "01.01.1900", jDate) \ 15), "01.01.1900") AS dateTmp, jFactDose FROM Journal_TWC_201_2


то тоже всё заработает (обратите внимание на наклон слеша при делении)
...
Рейтинг: 0 / 0
29.11.2016, 21:01
    #39357300
korochinskiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на усреднение значения по времени
Спасибо большое. Я понял.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на усреднение значения по времени / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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