我想通过将结果数量乘以7来将MySQL查询的结果分成组,以便我可以对每个组运行查询。
我有一张表,其中包含用户在一段时间内输入的条目。我打算计算一段时间是多少天,除以7,所以我有几周,然后每周运行一次查询。例如,在第1周,第2周等输入了多少特定值。
每次都会有不同的时间段。
答案 0 :(得分:0)
一种方法是为每一行分配一个行号,计算最大行数,然后除以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;