0

結果の数を 7 で割って、MySQL クエリの結果をグループに分割し、各グループでクエリを実行できるようにしたいと考えています。

一定期間にわたってユーザーが入力したエントリを含むテーブルがあります。期間が何日であるかを計算し、それを 7 で割り、週があるようにしてから、毎週クエリを実行するつもりです。たとえば、特定の値が第 1 週に入力された回数、次に第 2 週に入力された回数など。

時間帯は毎回異なります。

4

1 に答える 1

0

これを行う 1 つの方法は、各行に行番号を割り当て、最大行数を数え、それを 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 に答える