Среднее значение MS Access после вычитания

#sql #ms-access

#sql #ms-access

Вопрос:

как я могу вычесть эти два столбца, а затем найти их среднюю группировку по col3 :

 col1,     col2,     col3
02:00:00, 04:00:00, 4
02:00:00, 05:00:00, 3
  

я хочу результат в этом формате: Hours:Minutes:Seconds

Спасибо

Ответ №1:

 SELECT col3, Format(Avg([col2]-[col1]),"hh:mm:ss") AS TimeDiff
FROM Table1
GROUP BY col3;
  

Ответ №2:

Получаем разницу значений col1 и col2 в секундах

 select col3, datediff("s", col2, col1) as diff_n_seconds from mytable
  

и сохраните это как запрос

Затем создайте запрос группы по первому запросу. Поместите в него среднее значение

 select avg(diff_n_seconds), col3 from myquery groupby col3
  

и преобразуйте среднее значение обратно в формат времени с помощью функции format — например,

 Format(int([FieldName]/3600),"00") amp; ":" amp; Format(Int(([FieldName]-(Int([FieldName]/3600)*3600))/60),"00") amp; ":" amp; Format((([FieldName] Mod 60)),"00")
  

Ответить с цитатой

(вы могли бы сделать это в том же запросе или создать новый на основе предыдущего)

Комментарии:

1. можно ли это сделать с помощью одного запроса .. я попробовал решение ur, но когда я пытаюсь создать группу с помощью, он говорит, что в инструкции FROM ошибка .. я хочу, чтобы это было в таком формате: Часы: Минуты: Секунды