У меня есть набор данных, охватывающих 3 дня. На основании первого столбца слева можно ли получить запрос, который вычисляет среднее значение значений в третьем столбце слева на основе каждого дня?MS Access - SQL-запрос для среднего значения каждого дня
Конечный результат будет две колонки:
1/1/2008 | 1.605
2/1/2008 | 1.59
3/1/2008 | 1.56
Я думаю, что логика будет что-то вроде в цикле:
- Основываясь на день в первой колонке, если это в тот же день подсчитайте количество строк и добавьте значения третьего столбца
- Используйте сумму значений третьего столбца и разделите на количество строк, чтобы получить Среднее значение
- день + 1
Но как мы можем реализовать цикл в MS Access?
Вот набор данных:
Edit: Если я хочу, чтобы сгруппировать по дате, где день между вчерашней 6PM сегодняшней 6PM?
Пункт BETWEEN
должен проверить записи, которые находятся между вчерашним 18:00:00 и сегодняшним 18:00:00. Например, для 1/1/2008 запись начнется с 1/1/2008 6:00PM
до 2/1/2008 6:00PM
. Для 01.02.2008 запись начнется с 2/1/2008 6:00PM
по 01.03.2008 6:00 вечера. Так далее и так далее ...
У меня есть фрагмент кода, который проверяет это:
([In process analysis result].[Date Time]) Between Date()-1+#12/30/1899 18:0:0# And Date()+#12/30/1899 18:0:0#)
Но это только группы на один день раньше. Как я могу подать заявку на набор данных?
Редактировать 2: Это запрос, который я сделал, но он по-прежнему не является правильным. Любая идея, что не так?
SELECT DateValue([Date Time]) As DateValue, Avg([MFR g/10min]) AS [AvgOfMFR g/10min]
FROM [In process analysis result]
WHERE ((([Date Time])>Now()-365) AND (([Operation Grade-Load]) Like "EX*") AND (([Date Time]) Between [Date Time]-1+#12/30/1899 18:0:0# And [Date Time]+#12/30/1899 18:0:0#))
GROUP BY DateValue([Date Time]);
Цените любые советы по этому вопросу, пожалуйста. –