elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  ¿Cómo seleccionar los registros con la fecha más reciente?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo seleccionar los registros con la fecha más reciente?  (Leído 1,992 veces)
KateLibby

Desconectado Desconectado

Mensajes: 80



Ver Perfil
¿Cómo seleccionar los registros con la fecha más reciente?
« en: 15 Diciembre 2017, 09:23 »

Buenos días! No sé cómo hacer la siguiente consulta, a ver si me podéis ayudar. Tengo la siguiente tabla:

ProductoFechaCantidad
Prod 11-12-17
5
Prod 12-12-17
3
Prod 15-12-17
1
Prod 21-12-17
8
Prod 26-12-17
3

Y quiero que me devuelva de cada producto el registro con fecha más reciente. Así:


ProductoFechaCantidad
Prod 15-12-17
1
Prod 26-12-17
3

Cómo lo hago? Gracias de antemano!


« Última modificación: 15 Diciembre 2017, 10:05 por KateLibby » En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #1 en: 15 Diciembre 2017, 16:23 »

para esto esta order by

Código
  1. SELECT * FROM tabla ORDER BY campo

https://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html

puedes usar al fin ASC o DESC (ordenado ascendiente o descendiente)


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
KateLibby

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #2 en: 15 Diciembre 2017, 20:31 »

Pero si no me equivoco, con el ORDER BY me apareceran los productos repetidos, ¿no? Yo quiero que si el Prod 1 está 2 veces con fechas diferentes, sólo me aparezca el registro de la fecha más reciente.
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #3 en: 15 Diciembre 2017, 22:12 »

disculpa, no hab{ia visto eso, tienes en ese caso

Código
  1. SELECT DISTINCT(Producto), fecha, cantidad FROM tabla

o tambien


Código
  1. SELECT * FROM tabla GROUP BY (producto)

y las respectivas mezclas de estos con ORDER BY
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
KateLibby

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #4 en: 21 Diciembre 2017, 13:03 »

Gracias por tu respuesta.

Creo que me serviría con el DISTINCT y ORDER BY, pero no puedo usar los dos en el mismo SELECT. ¿Hay alguna forma de hacer esto?

Código:
SELECT DISTINCT producto, fecha, cantidad FROM tabla ORDER BY fecha DESC

Porque tal cual está ahora, ignora el DISTINCT


Gracias
En línea

engel lex
CoAdmin
***
Desconectado Desconectado

Mensajes: 15.347



Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #5 en: 21 Diciembre 2017, 14:41 »

Así como está debería mostrarte por fecha productos no repetidos, de todas formas también tienes group by, que los agrupará por un campo similar (se usa al final igual que order by)
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
KateLibby

Desconectado Desconectado

Mensajes: 80



Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #6 en: 21 Diciembre 2017, 15:49 »

Sí, he probado de las dos formas pero no sé por qué no termina de funcionarme  :(
En línea

XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: ¿Cómo seleccionar los registros con la fecha más reciente?
« Respuesta #7 en: 27 Diciembre 2017, 19:16 »

Prueba con algo como:
Código
  1. SELECT producto, fecha, cantidad FROM (SELECT * FROM tabla ORDER BY fecha DESC) s GROUP BY producto

Si por algún casual usas MySQL y diese un error asegúrate de que tienes desactivado ONLY_FULL_GROUP_BY.

Un saludo!

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines