Ordenar en base a un campo En el ejemplo se ordenan las líneas de pedido en su orden natural pero manteniendo unidas las que son del mismo color.
Select * FROM pedidos_lineas
where id_pedido=33
order by find_in_set(color, (SELECT GROUP_CONCAT(DISTINCT(color)) FROM pedidos_lineas WHERE id_pedido=33));