[pgsql-jp: 31187] Re: 複数の入力それぞれの最新の値を求めるSQL 文

斎見 浩平 saimi_at_qs @ ybb.ne.jp
2003年 10月 7日 (火) 17:11:07 JST


サイミです。

> 端末が複数あり、それぞれの端末には番号が振ってあるとします。
> DBには、どの端末から、いつ、どんな値が入力されたかを記録する
> ものとします。
> 
> create table test_tbl {
>     termid int4      ;端末番号
>   , dt     datetime  ;入力時間
>   , val    int4      ;入力データ
> };
> 
> ここから、それぞれの端末の最新データを取りたいと考えました。

datetimeはtimestamp w/o timezoneと解釈させていただきます。
また、話を簡単にさせてもらうために val >= 0とさせていただきます。

select termid, to_number(substring(max(
  to_char(dt, 'YYYYMMDDHH24MISSUS') || to_char(val, '0000000000'))
  from 22 for 10 ), '0000000000') as lastval
from test_tbl
group by termid;

ではいかがでしょう?

-- 
斎見 浩平 <saimi_at_qs @ ybb.ne.jp>





pgsql-jp メーリングリストの案内