порядок заказа в соответствии с положением пользовательского массива

Я хочу перечислить сообщение в соответствии с таможенной подачей.

Здесь у меня есть 9 сообщений с разными 3-мя позициями (средний, верхний, нижний)

Post ID title position 1 Post1 Top 2 Post2 Bottom 3 Post3 Top 4 Post4 Bottom 5 Post5 Middle 6 Post6 Bottom 7 Post7 Top 8 Post8 Bottom 9 Post9 Top 10 Post10 Middle 

Теперь я хочу получить сообщение в соответствии с этим порядком

 5 Post5 Middle 2 Post2 Bottom 1 Post1 Top 10 Post10 Middle 4 Post4 Bottom 3 Post3 Top 6 Post6 Bottom 7 Post7 Top 8 Post8 Bottom 9 Post9 Top 

Итак, сначала я попал в середину, внизу, сверху, поэтому я хочу, чтобы заказ был таким, как этот, средний, нижний и верхний. Я не хочу полной средней позиции, а затем нижней, а затем верхней.

Мне нравится перечислить первые 3 сообщения из среднего, нижнего, верхнего. Мне нужно это объявление wordpress, может ли кто-нибудь знать, как я могу выполнить эту задачу

Спасибо CSR

Вы можете использовать следующий запрос:

 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') 

Демо здесь