[pgbr-geral] Melhor forma de fazer esta query

2013-03-26 Por tôpico Marco Aurélio V . da Silva
Caros tenho uma tabela com a seguinte estrutura:

ip  varchar(20)
download  numeric(18,0)
upd_timestamp  timestamp

com os seguintes dados

ip   download   upd_timestamp
192.168.0.1   150 2013-03-25 20:00
192.168.0.1   300 2013-03-25-21:00
192.168.0.1   450 2013-03-25-22:00
192.168.0.2   150 2013-03-25 20:00
192.168.0.2   430 2013-03-25 21:00

Gostaria de pegar apenas a ultima ocorrencia de cada ip por dia, preciso pegar 
os seguintes dados
192.168.0.1450 2013-03-25  22:00
192.168.0.2   430  2013-03-25 21:00

Sugestões  ?

Desde já agradeço a atenção recebida.

Marco Aurélio V. da Silva
marcoprod...@gmail.com
Prodata Informática e Cad. Ltda
(33) 3322-___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Melhor forma de fazer esta query

2013-03-26 Por tôpico Jean Pereira

On 03/26/2013 12:24, Marco Aurélio V. da Silva wrote:

Caros tenho uma tabela com a seguinte estrutura:
ip  varchar(20)
download  numeric(18,0)
upd_timestamp  timestamp
com os seguintes dados
ip   download   upd_timestamp
192.168.0.1   150 2013-03-25 20:00
192.168.0.1   300 2013-03-25-21:00
192.168.0.1   450 2013-03-25-22:00
192.168.0.2   150 2013-03-25 20:00
192.168.0.2   430 2013-03-25 21:00
Gostaria de pegar apenas a ultima ocorrencia de cada ip por dia, 
preciso pegar os seguintes dados

192.168.0.1450 2013-03-25  22:00
192.168.0.2   430  2013-03-25 21:00
Sugestões  ?

Bom... não sei se é a melhor forma, ou a mais adequada, mas creio que ajude

select distinct ip,
first_value(upd_timestamp) OVER (PARTITION BY ip, 
data_hora_registro::date ORDER BY data_hora_registro desc) as upd ,
first_value(download) OVER (PARTITION BY ip, upd_timestamp::date ORDER 
BY upd_timestamp desc) as ultimo

from tabela


talvez isso?


Desde já agradeço a atenção recebida.
Marco Aurélio V. da Silva
marcoprod...@gmail.com
Prodata Informática e Cad. Ltda
(33) 3322-


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Melhor forma de fazer esta query

2013-03-26 Por tôpico Jose Mello Junior
Select ip, max(udp_timestamp)
From tabela
Group by ip
Order by 2, 1

Att

Enviado via iPad

Em 26/03/2013, às 13:24, Jean Pereira ad...@olostech.com escreveu:

 On 03/26/2013 12:24, Marco Aurélio V. da Silva wrote:
 
 Caros tenho uma tabela com a seguinte estrutura:
  
 ip  varchar(20)
 download  numeric(18,0)
 upd_timestamp  timestamp
  
 com os seguintes dados
  
 ip   download   upd_timestamp
 192.168.0.1   150 2013-03-25 20:00
 192.168.0.1   300 2013-03-25-21:00
 192.168.0.1   450 2013-03-25-22:00
 192.168.0.2   150 2013-03-25 20:00
 192.168.0.2   430 2013-03-25 21:00
  
 Gostaria de pegar apenas a ultima ocorrencia de cada ip por dia, preciso 
 pegar os seguintes dados
 192.168.0.1450 2013-03-25  22:00
 192.168.0.2   430  2013-03-25 21:00
  
 Sugestões  ?
 Bom... não sei se é a melhor forma, ou a mais adequada, mas creio que ajude
 
 select distinct ip, 
 first_value(upd_timestamp) OVER (PARTITION BY ip, data_hora_registro::date 
 ORDER BY data_hora_registro desc) as upd ,
 first_value(download) OVER (PARTITION BY ip, upd_timestamp::date ORDER BY 
 upd_timestamp desc) as ultimo
 from tabela
 
 
 talvez isso?
 
 Desde já agradeço a atenção recebida.
  
 Marco Aurélio V. da Silva
 marcoprod...@gmail.com
 Prodata Informática e Cad. Ltda
 (33) 3322-
 
 
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
 
 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral