Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按天按周分组获取最近4周的记录_Php_Mysql - Fatal编程技术网

Php 按天按周分组获取最近4周的记录

Php 按天按周分组获取最近4周的记录,php,mysql,Php,Mysql,我需要一个查询,它允许我从MySQL表中选择最近4周的数据,但是从4周前的星期一开始输出为天,而不考虑一周中的当前日期 DB有一个用户表,一个活动表,它有一个userID的FK。 具有FK到activityID的activityStats表 查询将用于创建类似以下内容的数组: $array = [ "userid" => "userid", "dateAdded" => "dateAdded", "week1" => $array = [ "mon

我需要一个查询,它允许我从MySQL表中选择最近4周的数据,但是从4周前的星期一开始输出为天,而不考虑一周中的当前日期

DB有一个用户表,一个活动表,它有一个userID的FK。 具有FK到activityID的activityStats表

查询将用于创建类似以下内容的数组:

$array = [
   "userid" => "userid",
   "dateAdded" => "dateAdded",
   "week1" => $array = [
      "monday" => $array = [
         "activityid" => "1",
         "time" => "21",
         ...
      ]
      "tuesday" => $array = [
         "activityid" => "2",
         "time" => "16",
         ...
      ]
      "wednesday" => $array = [
         "activityid" => "3",
         "time" => "16",
         ...
      ]
      ...
   "week2" => $array = [
      "monday" => $array = [
         "activityid" => "8",
         "time" => "21",
         ...
      ]
      "tuesday" => $array = [
         "activityid" => "9",
         "time" => "16",
         ...
      ]
      "wednesday" => $array = [
         "activityid" => "10",
         "time" => "16",
         ...
      ]
      ...
   ]
   ...
];
我可以创建多个查询来实现这一点,但可能需要10周或52周的时间,单独的查询可能无法解决这一问题


不知道从何处开始。

假设时间戳列被称为
timestamp
,您可以:

选择CONCAT(年(时间戳),“/”,周(时间戳))作为周

然后检索特定范围、按周排序等