Re: SQL Help - Finding Next Lowest Value of Current Row Value

Поиск
Список
Период
Сортировка
От Chris Curvey
Тема Re: SQL Help - Finding Next Lowest Value of Current Row Value
Дата
Msg-id CADfwSsBmN2-scM8PmztbdzRFxj6wH1hKyPrd=9b90DTVpncOfw@mail.gmail.com
обсуждение исходный текст
Ответ на SQL Help - Finding Next Lowest Value of Current Row Value  (Jeff Adams <Jeff.Adams@noaa.gov>)
Ответы Re: SQL Help - Finding Next Lowest Value of Current Row Value
Список pgsql-general
On Sat, Oct 1, 2011 at 5:30 PM, Jeff Adams <Jeff.Adams@noaa.gov> wrote:
Greetings,

I have a large table (~19 million records). Records contains a field
identifying a vessel and a field containing an time (epoch). Using the
current rows vessel and time values, I need to be able to find the next
lowest time value for the vessel and use it to compute how much time has
elapsed between the records. I have tried a scalar subquery in the SELECT,
which works, but it runs quite slowly. Is there an alternative approach that
might perform better for this type of query. Any information would be
greatly appreciated. Thanks...

Jeff



Would a self-join with a MAX() help, like this?  (Where "v" is your vessel_id and "e" is your time value?)

create table stuff
(  v int
,  e timestamp
);

insert into stuff (v, e) values (1, '1/1/2011');
insert into stuff (v, e) values (1, '1/2/2011');
insert into stuff (v, e) values (1, '1/3/2011');

insert into stuff (v, e) values (2, '2/1/2011');
insert into stuff (v, e) values (2, '2/2/2011');

select a.v, a.e, max(b.e), a.e - max(b.e)
from stuff a
join stuff b on a.v = b.v
where a.e > b.e
group by a.v, a.e
 
I don't have a multi-million row table handy, but I'd be interested to hear your results.

-- 
e-Mail is the equivalent of a postcard written in pencil.  This message may not have been sent by me, or intended for you.  It may have been read or even modified while in transit.  e-Mail disclaimers have the same force in law as a note passed in study hall.  If your corporate attorney says that you need an disclaimer in your signature, you need a new corporate attorney.

В списке pgsql-general по дате отправления:

Предыдущее
От: Cody Caughlan
Дата:
Сообщение: Re: Change server encoding after the fact
Следующее
От: Rohit Coder
Дата:
Сообщение: Why PGSQL has no developments in the .NET area?