SQL查询中一段时间​​的平均时间

时间:2014-07-16 17:37:05

标签: sql time average min

您好,我怎样才能获得跨记录的最短时间的AVG?

意思是,我有这些记录:

Id   Date    Time    Amount
1    7/1/14  9:00am  5.00
2    7/1/14  8:45am  6.00
3    7/1/14  9:30am  7.00
4    7/2/14  8:30am  4.50
5    7/2/14  9:15am  5.50
6    7/2/14  7:45am  4.75

现在我需要的是每天获得MIN ...所以在这种情况下它将是记录2和6。 但是我想知道那些时间的平均值...意思是早上8:45和早上7:45 ...

我想知道一段时间内首次销售的平均时间是多少。不知道如何平均时间。因此,在一段时间内,通常首次销售发生在早上8:20左右(估计)

非常适合任何协助

3 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情: -

SELECT Id, Date, AVG(Time)
FROM (SELECT Id, Date, MIN(Time) AS Time
      FROM YOUR_TABLE
      GROUP BY Id, Date) AS TABLE1
GROUP BY Id, Date;

这可能对您有所帮助。

答案 1 :(得分:0)

要获得平均值,请将时间转换为秒,计算平均值并将其转换回时间。

SELECT Id, Date, SEC_TO_TIME(AVG(sec))
FROM (SELECT Id, Date, MIN(TIME_TO_SEC(Time)) AS sec
      FROM YOUR_TABLE
      GROUP BY Id, Date) AS TABLE1
GROUP BY Id, Date;

答案 2 :(得分:0)

SELECT Format(( AVG(Table1.daTime) /86400),"hh:nn:ss") AS AvgTimeOfFirstTransaction
FROM (SELECT  date, (MIN(Time) *86400)  AS daTime
       FROM transactions
       WHERE (  (transactions.date)>=#7/1/2014# And (transactions.date)<#7/3/2014#) 
       GROUP BY transactions.date
)  AS TABLE1