0

我想通过将结果数除以 7 来将 MySQL 查询的结果分组,以便我可以在每个组上运行查询。

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

时间段每次都会不同。

4

1 回答 1

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; 

SQLFiddle 演示

于 2013-08-24T22:02:09.530 回答