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

saber la última fecha que cumple determinada condicion

Estas en el tema de saber la última fecha que cumple determinada condicion en el foro de Mysql en Foros del Web. Hola Gente, tengo una base de datos con miles de productos, estos productos tienen una fecha de salida para mostrarse en la pagina, esas fechas ...
  #1 (permalink)  
Antiguo 11/04/2011, 06:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 21 años
Puntos: 4
saber la última fecha que cumple determinada condicion

Hola Gente, tengo una base de datos con miles de productos, estos productos tienen una fecha de salida para mostrarse en la pagina, esas fechas se las doy yo desde un panel que tengo .. siempre muestro 5 productos nuevos por día.


el tema es que yo quiero saber hasta que día se cumple que hay 5 productos con la fecha mas alta asignados,..

osea voy adelantado una o dos semanas que ya configuré los 5 profuctos para cada dia, lo que quiero saber es en que fecha me quede añadiendo fechas.,..

Hasta yyyy-mm-dd se va a cumplir que hay 5 productos, pero el proximo dia no va a tener esa condicion de los 5 articulos.

lo que no quiero es tener que seleccionar todos los articulos por cada dia y contarlos haber si son 5 o no ,,, recorriendo todas las fechas hasta que no se cumpla la condicion...

Quiero saber si hay alguna consulta que me de esa fecha... la tabla ARTICULOS tiene el campo FECHA de formato yyyy-mm-dd .

espero se entienda y puedan ayudarme....
  #2 (permalink)  
Antiguo 11/04/2011, 07:22
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 10 meses
Puntos: 89
Respuesta: saber la última fecha que cumple determinada condicion

Con un MAX(fecha)

Para ver las fechas que tengan cinco productos o mas agrupas por fecha y pones un HAVING.

Vamos, quedaría algo así:

Código SQL:
Ver original
  1. SELECT MAX(fecha)
  2. FROM (
  3. SELECT fecha, COUNT(*) AS c
  4. FROM productos
  5. GROUP BY fecha
  6. HAVING c >= 5)
  #3 (permalink)  
Antiguo 11/04/2011, 08:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 21 años
Puntos: 4
Respuesta: saber la última fecha que cumple determinada condicion

WOW .... mil gracias por tu pronta respuesta ,, en un rato lo voy a probar y comentaré que tal me fue ..
  #4 (permalink)  
Antiguo 11/04/2011, 11:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 21 años
Puntos: 4
Respuesta: saber la última fecha que cumple determinada condicion

Heimish2000 no me andubo, lo que me pasaste,,, se ve a algo puse mal .....

Pude hacer andar este otro en base a lo tullo ,, pero igual no esta del todo bien ..

Cita:
SELECT MAX( fecha ) AS fech
FROM juegos
GROUP BY fecha
HAVING Count( fecha ) >=2
ORDER BY `fech` DESC
este me retorna todas las fechas que cumplen con la condicion, de estar 2 o mas veces, pero el MAX no me selecciona la mayor = me las muestra todas,,, por eso las ordene de forma descendente ,,,

espero me puedas ayudar a corregir la inicial para tener solo un resultado, solo me interesa la mas alta, las demás no,.,..

muchas gracias..
  #5 (permalink)  
Antiguo 11/04/2011, 14:14
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 10 meses
Puntos: 89
Respuesta: saber la última fecha que cumple determinada condicion

¿Si haces un MAX de esa consulta?

Código SQL:
Ver original
  1. SELECT MAX(fech)
  2. FROM(
  3. SELECT MAX( fecha ) AS fech
  4. FROM juegos
  5. GROUP BY fecha
  6. HAVING COUNT( fecha ) >=2
  7. ORDER BY `fech` DESC )
  #6 (permalink)  
Antiguo 12/04/2011, 09:35
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 21 años
Puntos: 4
Respuesta: saber la última fecha que cumple determinada condicion

Hermish amigo , los dos ejemplos que me pasaste me dan el mismo error,,,

Cita:
#1248 - Every derived table must have its own alias
no se a que se refiere , que será ???

gracias ,,, sigo en la busqueda .
  #7 (permalink)  
Antiguo 12/04/2011, 09:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: saber la última fecha que cumple determinada condicion

Cita:
Iniciado por Apsol Ver Mensaje
Hermish amigo , los dos ejemplos que me pasaste me dan el mismo error,,,



no se a que se refiere , que será ???

gracias ,,, sigo en la busqueda .
A que una tabla en el from que se genere mediante una subconsulta debe sí o sí tener su propio alias. De lo contrario el sistema no sabrá como invocar sus campos en las otras partes de la consulta.
Código MySQL:
Ver original
  1. SELECT MAX(fech) fech
  2.     (SELECT MAX( fecha ) fech
  3.     FROM juegos  
  4.     GROUP BY fecha
  5.     HAVING Count(fecha) >=2) Tabla1 ;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 12/04/2011, 09:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 21 años
Puntos: 4
Respuesta: saber la última fecha que cumple determinada condicion

Hooooooo dios,, anda... , a los dos muchas gracias ,,,, voy a tener que agarrar un manual pronto ,, o mejor espero ;) ya que en la carrera que estoy haciendo una de las materias es Bases de Datos y vemos Mysql .

Abrazo para los 2

Etiquetas: cumple, fecha
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 21:06.