Php 将MySQL SELECT all划分为7个结果的部分,并在每个部分上运行新的查询

Php 将MySQL SELECT all划分为7个结果的部分,并在每个部分上运行新的查询,php,mysql,sql,Php,Mysql,Sql,我想通过将结果数除以7将MySQL查询的结果分成多个组,这样我就可以在每个组上运行查询 我有一个表,其中包含用户在一段时间内输入的条目。我打算计算这段时间有多少天,除以7,这样我有几周,然后每周运行一个查询。例如,在第1周输入了多少个特定值,然后在第2周输入,以此类推 时间段每次都不同。一种方法是为每行分配一个行号,计算最大行数,然后将其除以7,并为每行分配一个组号(从1到7)。 然后将查询结果保存到临时表中,并在该表中查询所需的组号: CREATE TEMPORARY TABLE result

我想通过将结果数除以7将MySQL查询的结果分成多个组,这样我就可以在每个组上运行查询

我有一个表,其中包含用户在一段时间内输入的条目。我打算计算这段时间有多少天,除以7,这样我有几周,然后每周运行一个查询。例如,在第1周输入了多少个特定值,然后在第2周输入,以此类推


时间段每次都不同。

一种方法是为每行分配一个行号,计算最大行数,然后将其除以7,并为每行分配一个组号(从1到7)。
然后将查询结果保存到临时表中,并在该表中查询所需的组号:

CREATE TEMPORARY TABLE results AS
SELECT ceil( rn / (  @rn/7 )) group_nbr,
       x.*
FROM ( 
   select (@rn:=@rn+1) rn, abc.* 
   from table_name abc, (select @rn:=0) rn
) x;


SELECT *
FROM results
WHERE group_nbr = 4; 

您可以使用限制7限制结果;限制7,8;等,或者你可以使用一组的声明,但没有更多的信息,我不能帮助你。提示:使用模数运算符%算出极限值。一切都是可能的。如果不知道您想要实现什么,就不可能得到有意义的答案。你到底想对7人小组做什么?为什么是7而不是8?这可能仅在sql中就可以实现,具体取决于您所寻找的内容,但根据提供的最少信息,目前为止最好的方法是提取第一个查询结果,然后处理PHP中的分块和附加逻辑。@RobertSeddon Smith我编辑了我的问题,以便您知道7的相关性。我打算使用php获得每周的查询数量,store是一个变量,然后在MySQL查询中使用,但这是我的逻辑所能达到的