Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta Php + MySql, enumerar filas de una select

Estas en el tema de Consulta Php + MySql, enumerar filas de una select en el foro de Bases de Datos General en Foros del Web. Saludos a TODOS: Tengo un problema, necesito hacer los siguiente Tengo una tabla con las siguientes columnas SELECT l_poder, i_usrid FROM tl_user ORDER BY l_poder ...
  #1 (permalink)  
Antiguo 02/03/2005, 12:39
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 2 meses
Puntos: 0
Consulta Php + MySql, enumerar filas de una select

Saludos a TODOS:

Tengo un problema, necesito hacer los siguiente

Tengo una tabla con las siguientes columnas
SELECT l_poder, i_usrid FROM tl_user ORDER BY l_poder DESC

el resultado de esta consulta debo almacenarla en otra tabla (tl_estadistica), esta tabla es de
estadistica , por lo tanto almacenara esta consulta diariamente (1 vez por dia).


Mi problema es que debo ponerle una columna que me indique el lugar obtenido en la consulta.
(como un ranking, el cual debo registrarlo en la tabla indicada)

contenidad de la tabla : tl_estadistica
insert into tl_estadistica (l_lugar, l_poder, i_usrid, d_fecha)

Ejemplo del contenido que tendria la tabla tl_estadistica
1 40000 123 1/1/2005
2 39000 223 1/1/2005
3 38000 253 1/1/2005
4 37000 112 1/1/2005
5 36000 54 1/1/2005
6 30000 1 1/1/2005
7 28000 455 1/1/2005
8 25000 678 1/1/2005
9 24000 14 1/1/2005
10 10000 405 1/1/2005

1 28000 455 2/1/2005
2 39068 223 2/1/2005
3 38054 253 2/1/2005
4 37034 112 2/1/2005
5 56000 123 2/1/2005
6 36345 54 2/1/2005
7 33544 1 2/1/2005
8 10003 405 2/1/2005
9 25454 678 2/1/2005
10 24054 14 2/1/2005



Esto debo hacerlo eficientemente y en el menor tiempo posible, que no consuman tanto tiempo y recursos.

utilizando la sentencia :
Insert ... Select ...



(la alternativa de obtener primero todos los registro en PHP,
luego con una variable contador valla insertando 1 registro por uno: ESTA DESCARTADA)



Se los agradeceria mucho a todos si me ayudan , o me indique como seria posible esto.
  #2 (permalink)  
Antiguo 03/03/2005, 03:03
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Según pone en la documentación de mysql, con las tablas myisam puedes hacer lo que quieres por medio de un campo auto_increment, si el campo forma parte del índice y es el segundo campo.
Lee esta página
del manual de mysql que te puede ayudar.
Un saludo.
__________________
Estoy contagiado de Generación-I

Última edición por Vice; 03/03/2005 a las 03:07
  #3 (permalink)  
Antiguo 03/03/2005, 11:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 2 meses
Puntos: 0
lo que busco

primero gracias por responder.

Vi lo que me indicas y resulto ser algo parecido a lo que buscaba, ya que el autoincrement asignara un numero secuencial la primera vez.
pero para la segunda vez que se realize el proceso partira del ultimo asignado.

Sin embargo, la columna que debe ser secuencial "l_lugar" siempre debera partir de 1, cada vez que se proceso la estadistica. (manteniendo los datos de los procesos anteriores).

1° proceso
1
2
3
4
5

2° proceso
1
2
3
4
5
6
7
8
9

3°proceso
1
2
3
4
5



pero, al parecer esto se arregla dejando la columna autoincremental,
y al finalizar el proceso volver asignar el autoincremental a 0.



Se agradece la ayuda prestada Vice

Última edición por sir_reo; 03/03/2005 a las 11:49 Razón: edicion de frase
  #4 (permalink)  
Antiguo 03/03/2005, 12:02
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Antigüedad: 19 años, 2 meses
Puntos: 0
de nuevo

tuve que declarar la columna como indice.
esto me obliga cada vez que defino una columna como auto_incremental-

esto en la practica no me sirve y se esta sobrecargado esta tabla con un indice que no sera utilizado.
esto puede mejorarse??? existe alguna otra forma de realizar lo que pido originalmente?




saludos.

Última edición por sir_reo; 03/03/2005 a las 12:12 Razón: rcertificacion
  #5 (permalink)  
Antiguo 04/03/2005, 02:05
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Si esta forma no te sirve, sólo te queda hacerlo por programa. En mysql es la única que tienes para hacerlo automático, salvo que tengas instalada la última versión de mysql y emplees triggers para hacerlo.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #6 (permalink)  
Antiguo 19/07/2008, 17:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Consulta Php + MySql, enumerar filas de una select

Hola a todos, mi dificultad es muy parecida, debo poder obtener un orden de cualquier select que realizo, pero este debe poder soportar incluso las agrupaciones, no tengo idea de como podria hacerse usando solo un select, este es el ejemplo:

id nombre
1 Juan
2 Pepe
3 Hugo
4 Paco
5 Luis

Select Orden, Id, Nombre from taba where nombre like p%

Orden Id Nombre
1 2 Pepe
2 4 Paco

En algun lado vi que se podria usar alguna variable para ir haciendo un contador, de manera de ir sumando en el resultado, pero me parece que esto no serviria en el caso de tener que repetri el select para un distinto grupo, por decir:

select orden , id , nombre from tabla where .......... limit 31, 60

En ese caso deberi mostrar algo asi:

orden id nombre
31 80 fffffffffffffff
32 7 safjasfjksdf
33 8 asfasfkjkasf
34 9 asfasasfjklsfñl
35 25 hasfkjhkhakjshdfkj

Gracias y feliz cumple a todos...
  #7 (permalink)  
Antiguo 20/07/2008, 01:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta Php + MySql, enumerar filas de una select

Se puede hacer en MySQL solamente, pero yo no te lo recomiendo.
Mira este enlace
http://www.forosdelweb.com/f21/obten...-mysql-599492/

Allí se explica como hacerlo, pero si necesitas agrupar deberás mirar el enlace de procedencia de la página de O'Reilly.

No obstante, esto se hace fácilmente con PHP. Pídelo en ese foro y obtendrás lo que quieres, sin complicaciones y con rapidez.

Última edición por jurena; 20/07/2008 a las 22:55
  #8 (permalink)  
Antiguo 22/01/2010, 07:40
 
Fecha de Ingreso: enero-2008
Mensajes: 2
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Consulta Php + MySql, enumerar filas de una select

También lo podéis hacer con esta sintaxis

Código:
SELECT 
    @rownum:=@rownum+1 as enumeracion, 
    mitabla.campo1, 
    mitabla.campo2
FROM mitabla, (SELECT @rownum:=0) R
  #9 (permalink)  
Antiguo 22/01/2010, 09:36
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Consulta Php + MySql, enumerar filas de una select

Hola ikary

Te recuerdo el aviso que había al final de este tema y que parece que no has leído.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.

Tema cerrado.

Última edición por JavierB; 22/01/2010 a las 09:52
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:16.