Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 02-mar-2005, 11:39   #1 (permalink)
sir_reo ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
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.
sir_reo está desconectado   Responder Citando
Antiguo 03-mar-2005, 02:03   #2 (permalink)
Vice está en el buen camino
 
Avatar de Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
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-mar-2005 a las 02:07.
Vice está desconectado   Responder Citando
Antiguo 03-mar-2005, 10:47   #3 (permalink)
sir_reo ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
Alegría 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-mar-2005 a las 10:49. Razón: edicion de frase
sir_reo está desconectado   Responder Citando
Antiguo 03-mar-2005, 11:02   #4 (permalink)
sir_reo ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2005
Mensajes: 3
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-mar-2005 a las 11:12. Razón: rcertificacion
sir_reo está desconectado   Responder Citando
Antiguo 04-mar-2005, 01:05   #5 (permalink)
Vice está en el buen camino
 
Avatar de Vice
 
Fecha de Ingreso: agosto-2003
Mensajes: 613
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
Vice está desconectado   Responder Citando
Antiguo 19-jul-2008, 17:32   #6 (permalink)
customerboot ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2005
Mensajes: 16
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...
customerboot está desconectado   Responder Citando
Antiguo 20-jul-2008, 01:22   #7 (permalink)
jurena tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 790
Respuesta: Consulta Php + MySql, enumerar filas de una select

Se puede hacer en MySQL solamente, pero yo no te lo recomiendo.
Mira este enlace
Obtener fila en mysql

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-jul-2008 a las 22:55.
jurena está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:30.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93