sql >> Databasteknik >  >> RDS >> Mysql

orderpost enligt anpassad arrayposition

Du kan använda en fråga som följande:

SELECT PostID, title, position
FROM (
   SELECT PostID, title, position,
          @grp := IF(@pos = position, @grp + 1,
                     IF(@pos := position, 1, 1)) AS grp
   FROM mytable
   CROSS JOIN (SELECT @grp := 0, @pos := '') AS vars
   ORDER BY position, title) AS t
ORDER BY grp, FIELD(position, 'Middle', 'Bottom', 'Top')   

Demo här




  1. MYSQL får alla resultat utom först

  2. Enkelt sätt att välja höger kolumn som primärnyckel för en given tabell

  3. Fluent NHibernate kan inte ladda MySql.Data från GAC i felsökningsläge för ett test

  4. MySQL CASE...WHERE...DÅ uttalanden