php如何按日期统计,关于按日获取统计信息:按日期获取统计信息 – 日期时间列 – mysql / php...

我有一个自己解决不了的问题。最好的办法是,如果可以直接从MySQL进行计算,但如果不能,从PHP进行计算也很好。

我有一个表有3列:id、time、value

现在时间值是datetime(例如:2012-11-03 00:13:12)

我想创建过去7天的统计数据。假设我有7排,今天是2012-12-20。

以下是行:日期时间值2012年12月20日00:12:12 22012年12月20日04:06:15 42012年12月20日03:12:14 52012年12月18日03:12:14 72012年12月16日12:12:14 32012年12月16日14:23:34 22012年12月15日14:23:34 9

如果我想得到最近7天的报告,应该是:

2012-12-14 -> value =0

2012-12-15 -> value =9

2012-12-16 -> value =5

2012-12-17 -> value =0

2012-12-18 -> value =7

2012-12-19 -> value =0

2012-12-20 -> value =11

目前我有这个(提取最近7天的记录):

$date=date("Y-m-d");

$date=date ("Y-m-d", strtotime ( '-7 day' . $date ) );

$qry="select value,date from mytable where date>'$date'";

$res=mysql_query($qry) or die("Couldn't select Information :".mysql_error());

while($row=mysql_fetch_array($res))

{

echo $row["value"];

}

我希望有人能提供建议。事先谢谢!弗拉德

仅使用MySQL就可以相对容易地解决这个问题。这与这个问题非常相似:mysql查询组(按天/月/年)

您需要更改查询,以便它获取给定周的所有记录。

SELECT DAY(date) , SUM(value)

FROM mytable

WHERE WEEK(date) = WEEK(NOW())

GROUP BY DAY(date)

还可以很容易地更改对数字的分组方式,例如使用GROUP BY MONTH(date)按月进行分组。您还可以通过执行EDOCX1[1]使MySQL将日名称显示为字段,以了解有关可用功能的更多详细信息,请参阅MySQL用户指南中的日期和时间功能。

谢谢,正是我要找的!我使用日期格式(日期,'format'),因为我还想获得年/月,但它是完美的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值