結果の数を 7 で割って、MySQL クエリの結果をグループに分割し、各グループでクエリを実行できるようにしたいと考えています。
一定期間にわたってユーザーが入力したエントリを含むテーブルがあります。期間が何日であるかを計算し、それを 7 で割り、週があるようにしてから、毎週クエリを実行するつもりです。たとえば、特定の値が第 1 週に入力された回数、次に第 2 週に入力された回数など。
時間帯は毎回異なります。
これを行う 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;