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

[ Mysql ] sellecionar registro anterior

Estas en el tema de [ Mysql ] sellecionar registro anterior en el foro de Mysql en Foros del Web. Justamente lo que dice el titulo del tema: tengo lo siguiente en una tabla: ------------------------------------ --uid--nombre- --1---- uno--- --2----dos---- --5----cinco-- --7----siete-- ---------------------------------------- hago un simple ...
  #1 (permalink)  
Antiguo 03/11/2006, 11:23
Avatar de elkkbron  
Fecha de Ingreso: enero-2002
Ubicación: Puebla
Mensajes: 195
Antigüedad: 22 años, 10 meses
Puntos: 0
[ Mysql ] sellecionar registro anterior

Justamente lo que dice el titulo del tema:

tengo lo siguiente en una tabla:
------------------------------------
--uid--nombre-
--1---- uno---
--2----dos----
--5----cinco--
--7----siete--
----------------------------------------

hago un simple select de la siguiente manera:
Select * from tabla where uid = '7'

Ahora lo que necesito es seleccionar el registro Anterior al 7
en éste caso sería el UID 5

Sé que lo puedo hacer de la siguiente manera :
Select * from tabla where uid = '5'

Pero tomen en cuenta que si borro el registro 5 esa selección no existiria y me devolvería un error, es por eso que necesito saber como seleccionar el registro anterior
  #2 (permalink)  
Antiguo 03/11/2006, 11:27
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
Suponiendo q el UID sea autonumérico siempre puedes hacer una select q escoja los de UID < al actual y ordenarlo por UID desc. El primer registro será el q buscas.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 03/11/2006, 11:34
Avatar de elkkbron  
Fecha de Ingreso: enero-2002
Ubicación: Puebla
Mensajes: 195
Antigüedad: 22 años, 10 meses
Puntos: 0
es autonumerico, y habia pensado en eso mismo:

$id = $uid - 1;
Select * from tabla where uid = '$id'

pero el problema es que si borro los registros, se perdería la secuenta autonumérica, y me devolveria un error.

por eso quiero saber como seleccionar el registro anterior sin tomar en cuenta esa idea
  #4 (permalink)  
Antiguo 03/11/2006, 11:38
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
No no... lo q kiero decir es:

SELECT * FROM tabla WHERE uid<$id ORDER BY uid desc

Recuerda q al ser numerico no debe llevar comillas ni simples ni dobles.
Así el primer registro será el anterior al q seleccionaste.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 03/11/2006, 11:47
Avatar de elkkbron  
Fecha de Ingreso: enero-2002
Ubicación: Puebla
Mensajes: 195
Antigüedad: 22 años, 10 meses
Puntos: 0
muchas gracias, lo acabo de probar y funciona bien !
  #6 (permalink)  
Antiguo 03/11/2006, 11:55
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 18 años, 4 meses
Puntos: 0
De nada hombre. Pa esto estamos akí.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:43.