计算每天的平均列值

时间:2014-05-24 12:38:02

标签: mysql sql datetime

我有以下表格结构:Value(存储随机整数值),Datetime`(存储购买的订单日期时间)。

如何在一整天内获得所有Value行的平均值?

我假设查询类似于以下内容

SELECT  count(*) / 1
FROM  mytable
WHERE DateTime = date(now(), -1 DAY) 

4 个答案:

答案 0 :(得分:7)

您可以GROUP BY DATE DATETIME部分使用AVG汇总功能查找每个组的平均值:

SELECT AVG(`Value`)
     , DATE(`Datetime`)
FROM `mytable`
GROUP BY DATE(`Datetime`)

答案 1 :(得分:4)

看起来像一个简单的AVG任务:

SELECT `datetime`,AVG(`Value`) as AvgValue
FROM TableName
GROUP BY `datetime`

查找特定日期的平均值:

SELECT `datetime`,AVG(`Value`) as AvgValue
FROM TableName
WHERE `datetime`=@MyDate
GROUP BY `datetime`

或者简单地说:

SELECT AVG(`Value`) as AvgValue
FROM TableName
WHERE `datetime`=@MyDate

<强>解释

AVG是一个用于查找列平均值的聚合函数。阅读更多here

答案 2 :(得分:1)

尝试它的工作......

Select AVG(value),convert(nvarchar,DateTime,103) from table group by convert(nvarchar,DateTime,103)

答案 3 :(得分:1)

以下查询将为您提供您想要的内容..

SELECT DATE_FORMAT(thedate_field, '%Y-%m-%d') as theday, avg (value)
FROM mytable group by
DATE_FORMAT(thedate_field, '%Y-%m-%d')