我有以下表格结构:Value
(存储随机整数值),Datetime`(存储购买的订单日期时间)。
如何在一整天内获得所有Value
行的平均值?
我假设查询类似于以下内容
SELECT count(*) / 1
FROM mytable
WHERE DateTime = date(now(), -1 DAY)
答案 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')