我想通过将结果数除以 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;