繁体   English   中英

来自php时间戳的平均每日金额

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM