Respuesta fácil:
Instrumento sus datos con otro campo "ordenamiento" int y luego ordenar por ese campo. Esto debería ser todo lo que sea necesario la mayor parte del tiempo. He hecho esto con éxito donde los clientes pueden incluir ciertos productos en una lista destacada, etc. aplicando valores bajos como -1 o -99 en el campo de ordenamiento.
respuesta compleja:
Esto se aplicaría si se quería normalizar ese ordenamiento, y si usted tenía quizá otro campo como el segundo factor en el orden, que ya está en la mesa principal. Esto también ayudaría si tiene otra información asociada con cada punto de pedido, como una nota. O bien, si muchas tablas van a implementar este orden arbitrario, y desea orquestar/modificar ese orden desde un solo lugar.
Lo que se hace es colocar la orden "arbitraria" en una tabla puede unirse y luego ordenar por ese campo:
SELECT t.*, o.ordering
FROM table_name AS t
LEFT JOIN table_name_ordering AS o ON t.ordering_id = o.id
ORDER BY o.ordering, t.other_field
@MattDiPasquale - Usted ya tiene el pedido en '1,3,2,9,7', simplemente cargue los resultados para' 1, 2, 3, 9, 7', y configúrelo según el orden de '1 , 3,2,9,7'. Cualquier especificar el lenguaje de programación? – ajreal
Estoy usando WordPress, PHP. Me gustaría hacerlo todo en MySQL para que no tenga que hacer ningún procesamiento en PHP. – ma11hew28
@MattDiPasquale - 'find_in_set' no es rápido ni está muy optimizado. Hacerlo en PHP es más rápido y optimizado. – ajreal