Estimado Jorge, 

Y no te ayudaría un sentencia select comun y corriente com esta ???

  SELECT *
    FROM positions p1
    JOIN (   select gps_id, max(date) date from positions group by
gps_id) p2 
   USING ( gps_id, date )
;


Esta consulta te devolvería el ultimo registro de cada gps_id.

Espero te sirva.

Saludos y éxitos.

Javier.


On Mon, 2012-07-09 at 07:56 -0500, Jorge Toro wrote:
> Hola lista hoy acudo a ustedes con la siguiente inquietud. 
> 
> 
> Tengo un programa servidor que captura los datos enviados por unos
> dispositivos "gps" y los almacena en una una tabla "positions". La
> tabla positions tiene la siguiente estructura:
> 
> 
>  positions 
> --------------
> id serial PK
> gps_id integer FK ( de gps.id)
> posicion point
> velocidad real                         
> altura real
> date timestamp
> grados real
> satelites integer
> 
> 
> 
> 
> Ya que los dispositivos GPS envían información de su ubicación cada
> minuto, me es de gran importancia almacenar de alguna forma el último
> dato de cada GPS que se encuentra en la tabla "position", para poder
> mostrar la última información enviada por cada uno de los GPS en el
> momento que se ingrese a una página web. 
> 
> 
> Mi duda sinceramente es que no se cómo realizar esta tarea de una
> forma eficiente. 
> 
> 
> He pensado en hacer una vista llamada "position_gps_actual" que me
> almacene el último dato de cada GPS dentro de la tabla "position" en
> el momento que se le ingrese un nuevo dato a esta tabla. Pero no se
> cómo puedo hacerlo, ya que mis comocimientos en PostgreSQL son básicos
> y creo que requiero de PL/SQL (En este momento le he dado solución
> realizando programación en el servidor para que cuando un GPS envíe
> información además de alamacenarla en la tabla "position" también me
> la almacene en una tabla que contenga cada uno de los GPS y con un
> UPDATE me ponga esa data en el respectivo GPS.).
> 
> 
> Me ayudaría mucho si me pueden ayudar aclarándome el camino que debo
> tomar y que debo aprender (en PostgreSQL) para lograr mi objetivo. Ya
> tengo poco tiempo para entregar este proyecto y este es un tema que
> quiero solucionar de la mejor manera.
> 
> 
> 
> 
> A todos muchas gracias y atento a sus comentarios.
> 
> 
> 
> 
> Jorge Alonso Toro
> Ing. Teleinformático.
> 
> http://jolthgs.wordpress.com/
> www.devmicrosystem.com
> --------------------------------------------------------------
> Powered By Debian.
> Developer Bullix GNU/Linux.
> --------------------------------------------------------------
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.6 (GNU/Linux)
> 
> iD8DBQBIWWH6q7mzdgTzI5ARAkX5AJ9TR6hL2ocLMOUDRfhts8DlVl+jpwCeNw5x
> p4+4FNUHPDUx1lU9F8WSKCA=
> =zRhQ
> -----END PGP SIGNATURE-----
> Este correo esta protegido bajo los términos de la Licencia
> Atribución-Compartir Obras Derivadas Igual a 2.5 Colombia de Creative
> Commons. Observé la licencia visitando este sitio
> http://creativecommons.org/licenses/by-sa/2.5/co/. 
> 

Responder a