Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Reihenfolge nach alternativen Werten

Hier ist eine Option, die user-defined variables verwendet . Im Grunde erstellt es eine Row Number pro Gruppe und ordnet danach zusammen mit der rec_f_id Feld:

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