Voici une option utilisant des user-defined variables
. Fondamentalement, il crée un Row Number
par groupe, puis commande par celui-ci avec le rec_f_id
champ :
SELECT rec_id, rec_f_id
FROM (
SELECT rec_id, rec_f_id,
@rn:=IF(@prev=rec_f_id,@rn+1,1) rn,
@prev:=rec_f_id
FROM tbl_records
JOIN (SELECT @rn:=0, @prev:=0) t
ORDER BY rec_f_id
) t
ORDER BY rn, rec_f_id