![]() |
¿como obtener la fecha mas reciente y la mas antigua?
hola
tengo el problema de obtener la fecha mas reciente y mas antigua de un listado de productos. con firebird que sentencia se usa. los campos son datetime. aunque tambien tengo otros campos de tipo date. encontre que con esto obtengo el registro mas reciente. el primer registro indicado por el numero 1
pero como obtengo el mas antiguo? este no me sirve
esta bien o ando haciendo algo mal hay mejores formas?? |
creo que esta puede servirme
el problema es qeu si tengo varios registros con la misma fecha me los trae todos. el otro problema es que solo pueod poner 2 campos si la pongo asi.
me da el error Engine Error (code = 335544569): Dynamic SQL Error. SQL error code = -104. Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause). SQL Error (code = -104): Invalid token. ¿cual pondria como agregate ? |
desconozco firebird, pero ¿porqué haces group by 1 en lugar de id y/o ACTIVO?
|
Hola JXJ.
Probá de este modo:
Saludos. |
Cita:
Si bién Firebird permite usar números para hacer referencia a columnas, no es aconsejable ya que es una técnica obsoleta. Se recomienda el uso de sinónimos en su lugar. Con el uso de números:
Recomendada:
Un saludo. :) |
Gracias ecfisa por el comentario, a decir verdad algo así suponía pero no veo la razón de utilizarlo así ya que es mas legible utilizar los nombres de los campos o alias, tal y como comentas.
Ahora, con respecto a esta consulta: Cita:
Saludos. |
Hola.
Más reciente : select first 1 id, numerodeserie, validodesde from productos order by validodesde descending; Mas antiguo : select first 1 id, numerodeserie, validodesde from productos order by validodesde ascending; Es la misma consulta, cogiendo el primer registro, ordenado por fecha de mayor a menor, o bien de menor a mayor. Saludos. |
Cita:
Pero yá Marc, le ha dado una excelente respuesta. Un saludo. |
el
group by 1 y el min() lo encontre en buscando en internet.. en lugar de last. voy a revisarlos a ver que tal me queda. muchas gracias. a todos. |
| La franja horaria es GMT +2. Ahora son las 06:33:10. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi