Hola Gorriak:
estamos de acuerdo que el orden no es un orden "natural" verdad??? por lo tanto tú tienes que forzar el ordenamiento que necesitas... si quieres que se presenten primero los registros que están entre las 23:00 y las 23:59:59 y en seguida los registros de las 00:00:00 en adelante, puedes hacerlo con una ordenación condicional, checa este script:
Código MySQL:
Ver original+----------+
| tiempo |
+----------+
| 23:00:00 |
| 00:05:00 |
| 23:30:00 |
| 00:00:01 |
| 22:29:59 |
| 00:00:00 |
| 23:59:59 |
+----------+
+----------+-------+
| tiempo | orden |
+----------+-------+
| 23:00:00 | 1 |
| 23:30:00 | 1 |
| 23:59:59 | 1 |
| 00:00:00 | 2 |
| 00:00:01 | 2 |
| 00:05:00 | 2 |
| 22:29:59 | 2 |
+----------+-------+
Observa que lo que hace es asignar un 1 a todas las horas que están entre las 23:00:00 y las 23:59:59 y un 2 al resto... de tal manera que primero ordena por este criterio y en seguida por la hora correspondiente.
Saludos
Leo.