Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/02/2013, 11:53
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: ordenar registros alfabeticamente

Sigo sin considerar necesario almacenar nada. Una consulta como esta puede darte en todo momento el número de orden de cada uno. Está sacada de las FAQ de MySQL, escrita por gnzsoloyo en #13 permalink. La he adaptado para que ordene.

Código MySQL:
Ver original
  1.         (@REG := @REG + 1) Linea,
  2.         Campo1,
  3.         Campo2,
  4.         Campo3
  5.     FROM
  6.         (SELECT
  7.             @REG :=0,
  8.             Campo1,
  9.             Campo2,
  10.             Campo3
  11.         FROM Tabla1 ORDER BY Campo1) Tabla2;

Y naturalmente, podrías mediante otra subconsulta buscar el número correspondiente a un registro en ese orden.

Hay algunas otras soluciones con programación, mantener una tabla en la que al insertar un nuevo registro, se hace un truncate table, y se cargan además el dato, el id de la tabla anterior, y se genera automáticamente mediante el auto_increment el número de orden tras cada truncado, pero claro, eso puede hacerse si no se ingresan demasiados datos. Luego puedes, mediante un inner join entre la tabla principal y esta tabla auxiliar, mostrar el orden, pasar al siguiente o al anterior con programación, etc.

Última edición por jurena; 11/02/2013 a las 13:56