Verdaderamente creo que este tema esta más relacionado a Base de Datos y normalización, con SQL puedes obtener ese resultado ordenado de la manera que necesites, a menos que lo estes trabajando en texto plano sin un motor de datos de por medio.
nos cuentas que tienes ya elaborado.
saludos.