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

[SOLUCIONADO] selecionar el registro con la fecha mas reciente

Estas en el tema de selecionar el registro con la fecha mas reciente en el foro de Mysql en Foros del Web. Hola no se como hacer de una sola consulta sql la siguiente selecion, osea seria selecionar todos los registros con el id y dentro de ...
  #1 (permalink)  
Antiguo 04/09/2013, 09:28
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
selecionar el registro con la fecha mas reciente

Hola no se como hacer de una sola consulta sql la siguiente selecion, osea seria selecionar todos los registros con el id y dentro de estos registros selecionar el que tenga la fecha menos antigua, algo asin:

Código MySQL:
Ver original
  1. select * from tabla where id=273

pero no se como hacer para que me selecione solo un registro en mi caso con la fecha mas alta, alguna ayudita.

saludos y gracias.
  #2 (permalink)  
Antiguo 04/09/2013, 10:00
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: selecionar el registro con la fecha mas reciente

Hola roboty:

Y si no es mucha molestia, ¿podrías decirnos al menos cómo es la estructura de tu tabla?, ¿cómo se llama el campo donde almacenas la fecha? y si es posible decirnos de qué tipo de datos es la columna?

Este tipo de consultas la hemos tratado infinidad de veces en el foro y existen muchas formas de hacerlo (con JOIN's, con IN, con EXIST's). Sería conveniente si te parece que utilizaras la herramienta de búsqueda del foro, o que le preguntaras a SAN GOOGLE, el generalmente tiene la respuesta para casi todas las preguntas:

Si tu campo es de tipo DATE o DATETIME, con esto obtienes la fecha más reciente:

Código MySQL:
Ver original
  1. SELECT MAX(fecha) FROM tabla WHERE id=273 GROUP BY id;

Esta fecha te sirve para filtrar todos tus registros.

Saludos
Leo.
  #3 (permalink)  
Antiguo 04/09/2013, 10:27
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: selecionar el registro con la fecha mas reciente

Hola gracias por tu colaboracion la estructura de mi tabla es algo sencillo sono tiene un id, fecha,nombre tal y como me pusistes la consulta me muestra la fecha pero yo quiero mostrar todos los datos de esa fila donde la fecha es la mas reciente.

productos

id
int
fecha
datatime
nombre
varchar

la tabla es algo asin donde el id se repite porque es el identificador del nombre y puede repetirse pero quiero que me muestre solo uno el mas reciente?

podrias ayudarme.

realmente tengo otra duda pero no se si es posible partiendo de estas dos tablas


PRODUCTOS

id
int
fecha
datatime
nombre
varchar

DESCRIPCION

id
int
nombre
varchar
precio
int



teniendo algo asin es posible selecionar de la tabla DESCRIPCION un producto con el id=222 donde es unico pero con la misma consulta selecionar de la tabla productos el mismo id pero como puede haber varios selecionar solo el de la fecha mas reciente.


no se si con estos datos puedes ayudarme, estube mirando en google pero no encontre nada que me lo aclare este tipo de consulta.

saludos.
  #4 (permalink)  
Antiguo 05/09/2013, 00:29
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 10 años, 9 meses
Puntos: 9
Respuesta: selecionar el registro con la fecha mas reciente

Para la primera consulta simplemente haz esto:

Código MySQL:
Ver original
  1. SELECT * FROM productos WHERE id=273 ORDER BY fecha DESC LIMIT 1

Para la segunda con lo mismo más o menos te valdría:
Código MySQL:
Ver original
  1. SELECT * FROM productos, descripcion WHERE descripcion.id=222 AND descripcion.id=productos.id ORDER BY productos.fecha DESC LIMIT 1
  #5 (permalink)  
Antiguo 06/09/2013, 10:42
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: selecionar el registro con la fecha mas reciente

Gracias ccliment, eso era lo que queria, un saludo.

Etiquetas: fecha, registro, registros, selecionar, select, sql, tabla
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

SíEste tema le ha gustado a 1 personas




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