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

Respuesta
 
Herramientas Desplegado
Antiguo 28-ago-2006, 18:23   #1 (permalink)
mamon está en el buen camino
 
Avatar de mamon
 
Fecha de Ingreso: noviembre-2002
Ubicación: Lima
Mensajes: 1.237
Posicion en una tabla segun el valor del campo

Hola, tengo una consulta
Tengo una base de datos y una tabla. Digamos que los registros son

id nombre ranking
1 Luis 9
2 Mario 7
3 Pedro 13
4 Jorge 8

Lo que quiero es hacer un select where id = 2
lo que quiero saber qué posicion tomaria si agrupo los registros por ranking. Sé cómo hacer si tengo todos los registros en un arreglo y hago un bucle para ordenarlos, pero no quiero que haya tanto trabajo, sino con un solo query o algo más simple... alguien sabe cómo lo puedo hacer?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
mamon está desconectado   Responder Citando
Antiguo 28-ago-2006, 18:29   #2 (permalink)
eits llegará a ser famoso muy prontoeits llegará a ser famoso muy pronto
 
Avatar de eits
 
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 850
Enviar un mensaje por MSN a eits
el id nunca cambia su valor(a menos que lo modifiques) y por lo tanto aunque lo ordenes no tienes problema al hacer select where id = 2, esto quedaria asi(ya ordenado por ranking):

id nombre ranking
2 Mario 7
4 Jorge 8
1 Luis 9
3 Pedro 13

no tendrias problemas.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
Ve los Problemas como retos, así son mas faciles de superar
eits está desconectado   Responder Citando
Antiguo 28-ago-2006, 18:33   #3 (permalink)
mamon está en el buen camino
 
Avatar de mamon
 
Fecha de Ingreso: noviembre-2002
Ubicación: Lima
Mensajes: 1.237
No entiendo, creo que me expliqué mal.. en el caso que diga where id = 2 quiero que me devuelva 4
si hago where id = 4 quiero que me devuelva 3
si hago where id = 3 quiero que me devuelva 1

osea como si estuviera con un order by ranking desc pero no quiero que me devuelva toda la tabla, sino la posicion donde estaría el registro si hago el order by ranking desc
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
mamon está desconectado   Responder Citando
Antiguo 28-ago-2006, 18:54   #4 (permalink)
eits llegará a ser famoso muy prontoeits llegará a ser famoso muy pronto
 
Avatar de eits
 
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 850
Enviar un mensaje por MSN a eits
oops; entendi mal, pero bueno se me ocurre que crees una tabla temporal que tenga:

campo1= posicion(autoincrement);
campo2= id=id

esto es, haces tu consulta trayendo solo el "id" y lo colocas en la tabla temporal y luego haces la consulta select posicion from tablatemporal where id = 2.

eso es lo único que se me ocurre por el momento.
espero y te sirva de algo.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
Ve los Problemas como retos, así son mas faciles de superar
eits está desconectado   Responder Citando
Antiguo 28-ago-2006, 19:06   #5 (permalink)
MaYoSyStEmS ha deshabilitado el karma
 
Fecha de Ingreso: agosto-2006
Mensajes: 58
Enviar un mensaje por MSN a MaYoSyStEmS Enviar un mensaje por Skype™ a MaYoSyStEmS
select * from ranking order by ranking ASC limit 0,1 primer lugarr
select * from ranking order by ranking ASC limit 1,1 segundo
select * from ranking order by ranking ASC limit 2,1 tercero
select * from ranking order by ranking ASC limit 3,1 cuarto

ojala te sirva
MaYoSyStEmS está desconectado   Responder Citando
Antiguo 30-ago-2006, 12:54   #6 (permalink)
mamon está en el buen camino
 
Avatar de mamon
 
Fecha de Ingreso: noviembre-2002
Ubicación: Lima
Mensajes: 1.237
Claro eits, esa es una opción, la voy a analizar, porque tengo que calcular cuantos registros abran y si vale la pena. Pero igual gracias
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
mamon 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 08:38.


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