Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Consultar los ultimos registros de una tabla

Hola! Estoy trabajando con FB 2.0, D7 y los IBX.
Mi pregunta es ¿Como recuperar los ultimos 20 registros de una tabla? De hecho en un IBQuery tengo esto:

Código SQL [-]
procedure TdmDatos.ConsultaUltimos20;
begin
  with qyCapturas do
    begin
      close;
      sql.Clear ;
      sql.Text := 'select * from Datos order by horafecha desc rows 20';
      open;
    end;
end;

sin embargo esto me regresa siempre los ultimos 20 con la fecha mayor (mas actual) a menor -lo cual es logico- ¿como hacer para que me de de la fecha mas antigua a la mas actual?

¡¡Una vez mas gracias por la ayuda prestada!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #2  
Antiguo 08-10-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
A ver, no se si te entendí bien, pero ¿No bastaría con ordenar los registros ascendentemente por dicho campo que contiene la fecha?

Código Delphi [-]
 
procedure TdmDatos.ConsultaUltimos20;
begin
  with qyCapturas do
    begin
      close;
      sql.Clear ;
      sql.Text := 'select * from Datos order by horafecha asc rows 20';
      open;
    end;
end;
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 08-10-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y si le quitas el desc?

// Saludos
Responder Con Cita
  #4  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Jhonny: si le pongo asc me los ordena como los primeros 20 en orden ascendente de acuerdo a la hora - fecha y yo necesito los ultimos 20.

Roman: no lo he probado, deja lo hago y te comento.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #5  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Roman pues no, me regresa igualmente los primeros 20.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #6  
Antiguo 08-10-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
¿Que no es que para obtener los últimos n registros hay que emplear FIRST e invertir el orden en la cláusula ORDER BY?

Código SQL [-]
select FIRST 20 tus_campos
from tu_tabla
order by tu_campo DESC

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Pues no, Delphius. Te regresa los primeros 20 ordenados en forma descendente.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #8  
Antiguo 08-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por FGarcia Ver Mensaje
Roman pues no, me regresa igualmente los primeros 20.
Si usas desc, te va a mostrar los ultimos 20 registros, me imagino que lo que quieres es que se vean los ultimos 20 ordenados de la fecha mas antigua a la fecha mas actual, en ese caso, (a manera de chapuza ) yo sugiero que primero obtengas el numero de registros y despues hagas esto:

Código Delphi [-]
procedure TdmDatos.ConsultaUltimos20;
begin
  with qyCapturas do
    begin
      close;
      sql.Clear ;
      sql.Text := 'select * from Datos';
      open;
      Registros := RecordCount; 
      close;
      sql.Clear ;
      sql.Text := 'select * from Datos order by horafecha rows '+inttostr(Registros-20)+' to '+inttostr(Registros); // 
      open;
    end;
end;

A menos claro que los que saben nos digan si hay alguna funcion que lo haga.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #9  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
¡¡¡SENSEI!!!



otro titulo que añadirle!! Policia, reportero, publicista
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #10  
Antiguo 08-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola FGarcia, también podrías utilizar una subconsulta

Código SQL [-]
 Select *
 From (Select * From Datos Order by horafecha desc rows 20)
 Order By horafecha

O, como ya tienes la cantidad de registros, puedes utilizar también skip

Código SQL [-]
 Cant := Registros-20;
 Select skip Cant *
 From Datos Order by horafecha

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #11  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Gracias Caro, probe la subconsulta y tambien funciona muy bien!

¡¡De todos modos el titulo se lo gano!!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #12  
Antiguo 08-10-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por FGarcia Ver Mensaje
¡¡De todos modos el titulo se lo gano!!
Ok .

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #13  
Antiguo 08-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por FGarcia Ver Mensaje
Gracias Caro, probe la subconsulta y tambien funciona muy bien!
Hombre ya lo decia yo....

Cita:
Empezado por YO MERO, CAPOTERO
A menos claro que los que saben nos digan si hay alguna funcion que lo haga.
[Caro] si que es la SENSEI

Salud ITOS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 08-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Hombre ya lo decia yo....



[Caro] si que es la SENSEI

Salud ITOS

Yo mas bien diria Miko
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #15  
Antiguo 08-10-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Cita:
Empezado por FGarcia Ver Mensaje
¡¡¡SENSEI!!!






otro titulo que añadirle!! Policia, reportero, publicista
¿Otro? jajajajaja Faltan unos cuantos y el principal por el que le dieron una maestria. En la Universidad de Putilandia.
Responder Con Cita
  #16  
Antiguo 08-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por JoseFco Ver Mensaje
¿Otro? jajajajaja Faltan unos cuantos y el principal por el que le dieron una maestria. En la Universidad de Putilandia.
Como se ve que te conozco wey, le comenté a [FGarcia] que ibas a postear con una vacilada, cabron.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #17  
Antiguo 08-10-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Cita:
Empezado por egostar Ver Mensaje
Como se ve que te conozco wey, le comenté a [FGarcia] que ibas a postear con una vacilada, cabron.

Salud OS
No pos estabas de puntita y como que no me pude contener.
Responder Con Cita
  #18  
Antiguo 09-10-2008
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
pero al final nos quedamos con la duda

¿cual es el nombre y grado de ese titulo?

Se debio haber esforzado mucho para lograrlo, ¡merece que se le llame por el!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #19  
Antiguo 09-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
eh!, eh!, moderacion u os saco tarjeta roja a ambos ehhh, esa boquita
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿como Puedo Cancelar La Inserción De Los Últimos Registros "insertados" OscarBravo Tablas planas 1 23-07-2007 19:26:35
Consultar tabla de Base de Datos externa ElGatitoTapatio Firebird e Interbase 4 11-01-2007 00:39:48
Mostrar los últimos 100 registros dade SQL 4 19-10-2006 04:22:45
seleccionar los ultimos registros de una tabla JODELSA SQL 1 04-10-2006 15:27:41
Problema al modificar y consultar tabla suppergus Tablas planas 2 17-08-2005 00:55:45


La franja horaria es GMT +2. Ahora son las 07:25:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi