计算两次之间的分钟数并将其除以记录数

Calculating amout of minutes between 2 times and divide it by amount of records

我们如何计算所有记录的 9 到 11 之间的分钟数(生成列)。我还想知道如何根据记录的数量来划分它的输出。

select  address,
        min(from_unixtime(time)) "Aankomsttijd",
        max(from_unixtime(time)) "Eindtijd",
        TIMESTAMPDIFF(MINUTE, min(from_unixtime(time)), max(from_unixtime(time))) "Minuten"
from    sensordata1
Where   from_unixTime(sensordata1.time) BETWEEN '2017/04/04' AND '2017/04/05' AND
        from_unixTime(sensordata1.time, '%H') BETWEEN 9 AND 11
group by address  
having Minuten > 2 AND Minuten < 1400

Output

Normal database as you can see "Minuten is not a real column"

我想要得到的是所有分钟加在一起作为 1 个数量,我希望它除以他们一起计算分钟的记录数量。

您可以使用您编写的查询作为所需计算​​的来源,例如

select  sum(Minuten) total_minuten,
        count(*) records,
        sum(Minuten) / count(*) average_minuten
from    (
            select  address,
                    min(from_unixtime(time)) "Aankomsttijd",
                    max(from_unixtime(time)) "Eindtijd",
                    TIMESTAMPDIFF(
                      MINUTE,
                      min(from_unixtime(time)),
                      max(from_unixtime(time))
                    ) "Minuten"
            from    sensordata1
            Where   from_unixTime(sensordata1.time) BETWEEN '2017/04/04' AND '2017/04/05' AND
                    from_unixTime(sensordata1.time, '%H') BETWEEN 9 AND 11
            group by address  
            having Minuten > 2 AND Minuten < 1400
        ) t1