sql >> Base de Datos >  >> RDS >> Mysql

MySQL Ordenar por valores alternativos

Aquí hay una opción usando user-defined variables . Básicamente crea un Row Number por grupo, y luego ordena por él junto con el rec_f_id campo:

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