[英]average daily amount from timestamps in php
我有一个带有2个值的mysql数据库:时间戳记和数量我将如何计算每个星期三的平均值?
我首先必须查看提到了多少个唯一的星期三,然后查看每个特定星期三的总价值是多少(一天中可以有多个条目,但是一天中的时间无关紧要),那么我必须添加总结所有这些价值,并以星期三的数量来表示。
我知道这很奇怪,这就是为什么我可能对此一无所获的原因。 我将如何在PHP中执行此操作?
假设您有一个包含以下列的表格:id时间戳记量
您必须从表中选择所有行并将其放入数组。 完成后,通过数组
<?php
$total = 0;
$bingo = 0;
foreach($a as $i)
{
if(date( "l" ,$i["timestamp"]) == "Wednesday")
{
$bingo++;
$total += $i["amount"];
}
}
$avg = $total/$bingo;
?>
您可以使用这样的查询来获取每个工作日的每日平均值。
SELECT DAYOFWEEK(date_only), AVG(total) FROM (
/*The subquery will return total amounts for each distinct day
regardless of how many records there are for each day. */
SELECT
DATE(your_table.timestamp_column) as date_only,
SUM(your_table.amount_column) as total
FROM your_table
GROUP BY DATE(your_table.timestamp_column)) as daily_totals
GROUP BY DAYOFWEEK(date_only);
DATE()
将仅使用时间戳中的日期部分。 按此值分组并使用SUM()
聚合函数将获得每天的总计。
DAYOFWEEK()
从代表星期几的日期返回一个数字值(1 =星期日等)。 按此值分组并使用AVG()
聚合函数将为您提供每个工作日的平均总数。
如何在PHP中处理结果取决于您的特定需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.