Home >Backend Development >PHP Tutorial >mysql - php可以按天连续去两周的更新数据吗

mysql - php可以按天连续去两周的更新数据吗

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-06 20:18:081171browse

<code>use_id reg_time
1      2015-12-01 
2      2015-12-02 
3      2015-12-02 
4      2015-12-03 
5      2015-12-03 
6      2015-12-03 
7      2015-11-30   </code>

要得到
`

<code>reg_time    count count(2周内)
2015-12-01   0    0
2015-11-29   0    0
2015-11-30   1    1
2015-11-31   0    1
2015-12-01   1    2
2015-12-02   2    4
2015-12-03   3    7
</code>

`

目的就是取出当天注册 以及当天往前推14天的注册数量

现在的做法是循环count
`

<code>$lasttime=strtotime(date("Y-m-d",time()))-14*3600*24;
$firsttime=strtotime(date("Y-m-d",time()))+3600*24;
$result = array()
for($i=13;$i>=0;$i--){
    $first=date("Y-m-d",$firsttime-$i*3600*24);
    $last=date("Y-m-d",$lasttime-$i*3600*24);
    $today=date("Y-m-d",time()-$i*24*3600);
    $tmp1 = "select count(1) from table where reg_time > $last and reg_time </code>

`

这样做的结果就是一共执行了28次count 感觉效率相当低下 求优化思路

回复内容:

<code>use_id reg_time
1      2015-12-01 
2      2015-12-02 
3      2015-12-02 
4      2015-12-03 
5      2015-12-03 
6      2015-12-03 
7      2015-11-30   </code>

要得到
`

<code>reg_time    count count(2周内)
2015-12-01   0    0
2015-11-29   0    0
2015-11-30   1    1
2015-11-31   0    1
2015-12-01   1    2
2015-12-02   2    4
2015-12-03   3    7
</code>

`

目的就是取出当天注册 以及当天往前推14天的注册数量

现在的做法是循环count
`

<code>$lasttime=strtotime(date("Y-m-d",time()))-14*3600*24;
$firsttime=strtotime(date("Y-m-d",time()))+3600*24;
$result = array()
for($i=13;$i>=0;$i--){
    $first=date("Y-m-d",$firsttime-$i*3600*24);
    $last=date("Y-m-d",$lasttime-$i*3600*24);
    $today=date("Y-m-d",time()-$i*24*3600);
    $tmp1 = "select count(1) from table where reg_time > $last and reg_time </code>

`

这样做的结果就是一共执行了28次count 感觉效率相当低下 求优化思路

<code>select reg_time,count(1) from table where reg_time > $last and reg_time </code>

用sql分组查询

针对你的问题,建议你直接获取每天的更新数据,在PHP自己加一下。这样SQL能减少到只剩一个。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn