sql >> Database teknologi >  >> RDS >> Mysql

ordrepost i henhold til tilpasset array-position

Du kan bruge en forespørgsel som følgende:

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 her




  1. Test af Android SQLite-databaseenhed

  2. Returner en liste over servertriggerhændelser i SQL Server

  3. MySql:hvis værdi eksisterer OPDATERING ellers INDSÆT

  4. SQL:parse for-, mellem- og efternavn fra et fuldnavnsfelt