Título: Calcular la Posicion de un usuario? Publicado por: DarkMatrix en 12 Enero 2010, 18:23 pm Bueno mi inquietud es la de como obtener el rank (Posicion) de un usuario dentro de una determianada jerarquia, sabiendo que los datos estan en una base de datos access. Ejemplo: En la base de datos hay 10.000 usuarios cada uno con una determinada experiencia, quiero obtener la posicion del Usuario 3 ordenando de mayor a menor sin tener que hacer un "SELECT * FROM Users ORDER BY Experiencia" y tener que recorrer cada registro para obtener el indece del registro -.-
Usuario: Experiencia: Usuario 1 500 Usuario 2 358 Usuario 3 589 Usuario 4 955 Usuario 5 1254 Usuario 6 2121 Usuario 7 85 Usuario 8 159 "SELECT * FROM Users ORDER BY Experiencia DESC": Usuario: Experiencia: Usuario 6 2121 Usuario 5 1254 Usuario 4 955 Usuario 3 589 Usuario 1 500 Usuario 2 358 Usuario 8 159 Usuario 7 85 Usuario 3 Posicion: 4 Actualmente lo hago de esta manera, pero hay que pedir todos los registros a la base de datos y quiera saber si hay otra forma: Código
Título: Re: Calcular la Posicion de un usuario? Publicado por: Shell Root en 12 Enero 2010, 18:28 pm Seleccionar el Usuario con Mayor Experiencia?
En SQL existe la funcion MAX(). vease (http://msdn.microsoft.com/es-es/library/ms187751.aspx) Título: Re: Calcular la Posicion de un usuario? Publicado por: DarkMatrix en 12 Enero 2010, 18:32 pm No, no quiero el que tenga mas experiencia, quiero obtener la posicion del usuario segun su experiencia, asi como en el ejemplo que hize.
Título: Re: Calcular la Posicion de un usuario? Publicado por: Sk9ITk5Z en 13 Enero 2010, 00:08 am Citar quiero obtener la posicion del usuario segun su experiencia osea algo como un select posicion where experiencia = algo???? Título: Re: Calcular la Posicion de un usuario? Publicado por: raul338 en 13 Enero 2010, 00:48 am no, el lo que quiere es que le devuelvan el numero de la fila en la que se encuentra tal usuario, lo que recomendaria es hacer un Count de los usuarios que estan antes de el, no te armo la consulta porque seguro ni funcionaria (hace mucho que no toco SQL :xD)
Código
En experienciaUsuario podes hacer otro select Código
Espero que te sirva! |