Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: EscobarCamilo en 27 de Julio 2015, 16:30
-
Buenos días a todos: Agredezco de antemano su colaboración.
Tengo una tabla en la que hay registros repetidos (ciudad), y necesito numerarlos así:
nombre ciudad No.
Camilo Bogotá 1
Andres Bogotá 2
Gustavo Medellín 1
Francisco Bogotá 3
Angela Medellín 2
Y que cuando elimine algun registro se actualice esa numeración de la coluimna (No.)
No sé si se hace directamente con php en un array o en mysql en una tabla temporal, la verdad es que estoy aprendiendo hasta ahora esto y es la segunda vez que estoy en el foro y ando bien perdido. Si me pueden colaborar o darme una luz de como hacerlo les agradezco mucho. Un abrazo.
-
Hola Camilo, si solo necesitas saber el número de registros que cumplen una condición en la base de datos (es decir, saber si hay por ejemplo 17 registros cuya ciudad es Medellín) lo más fácil es usar una consulta count.
SELECT COUNT(*), ciudad FROM usuarios WHERE `ciudad` = "Barcelona"
Nos devolvería el número de registros de la tabla usuarios donde el campo ciudad es Barcelona. El resultado podría ser como este:
COUNT(*) ciudad
45 Barcelona
Esto significaría que hay 45 registros donde la ciudad es Barcelona.
También tienes opción a realizar una consulta donde cada una de las apariciones de la ciudad quede numerada:
SELECT l.ciudad,
@curRow := @curRow + 1 AS row_number
FROM usuarios l
JOIN (SELECT @curRow := 0) r
WHERE l.ciudad = "Barcelona";
El resultado de esta consulta sería parecido a:
ciudad row_number
Barcelona 1
Barcelona 2
Barcelona 3
Barcelona 4
Tantas filas como veces aparezca la ciudad buscada.
Si además del nombre de ciudad quieres que aparezca el resto de la información de la tabla puedes usar:
SELECT l.*,
@curRow := @curRow + 1 AS row_number
FROM usuarios l
JOIN (SELECT @curRow := 0) r
WHERE l.ciudad = "Barcelona";
En este caso el resultado sería parecido a
nombre ciudad row_number
Camilo Bogotá 1
Andres Bogotá 2
Francisco Bogotá 3
Esto puedes combinarlo con una consulta previa para saber cuáles son las ciudades existentes en la base de datos, por ejemplo
SELECT DISTINCT ciudad
FROM usuarios
Te devolvería
Bogotá
Medellín
Cali
etc.
Saludos!
-
César, muchas gracias por tu respuesta. Muy completa y efectiva. Esto es lo que necesitaba. Bendiciones. Ya estaba perdiendo las esperanzas. Graciassssss!! por compartir tu conocimiento...... Funcionó!!! :)