Ver Mensaje Individual
  #9 (permalink)  
Antiguo 25/02/2011, 12:16
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Agregar indice a campo repetido

Ahora se entiende mejor: Lo que quieres es contar y numerar las apariciones de los diferentes registros con el mismo nombre...
Buen, eso se puede hacer, pero no es una consulta simple. Se necesitan dos variables de usuario y una subconsulta.
Mas o menos así:
Código MySQL:
Ver original
  1.     id_nombre, CONCAT(nombre, ' (', id,')') nombres
  2.   (SELECT
  3.      IF(@nombre='', @nombre:=nombre, nombre) A,
  4.       id_nombre,
  5.       nombre,
  6.       IF(nombre!= @nombre,@idx:=1, @idx:=@idx+1) id,
  7.       @nombre:=nombre
  8.   FROM nombre JOIN (SELECT @nombre:='', @idx:=1) T2
  9.   ORDER BY nombre) T0
  10. ORDER BY id_nombre;

Algo así:
Código MySQL:
Ver original
  1. mysql> SELECT
  2.     ->     id_nombre, CONCAT(nombre, ' (', id,')') nombres
  3.     -> FROM
  4.     ->   (SELECT
  5.     ->      IF(@nombre='', @nombre:=nombre, nombre) A,
  6.     ->       id_nombre,
  7.     ->       nombre,
  8.     ->       IF(nombre!= @nombre,@idx:=1, @idx:=@idx+1) id,
  9.     ->       @nombre:=nombre
  10.     ->   FROM nombres JOIN (SELECT @nombre:='', @idx:=0) T2
  11.     ->   ORDER BY nombre) T0
  12.     -> ORDER BY id_nombre;
  13. +-----------+------------+
  14. | id_nombre | nombres    |
  15. +-----------+------------+
  16. |         1 | Carlos (1) |
  17. |         2 | Juan (1)   |
  18. |         3 | Carlos (2) |
  19. |         4 | Carlos (3) |
  20. |         5 | Jose (1)   |
  21. +-----------+------------+
  22. 5 rows in set (0.00 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 25/02/2011 a las 12:22