[pgsql-jp: 36341] Re: 特定日が最終ログインのユーザを取り出す
choice
choice-site @ choice-site.com
2005年 11月 7日 (月) 15:36:49 JST
中出です。
長谷川@ニッパクさま、谷田@現実逃避中さま、
レスありがとうございます。
目からウロコです。
やはり、皆様に相談させていただいてよかったです。
今後ともよろしくお願いします。
では、失礼します。
----------------------- Original Message -----------------------
On Mon, 07 Nov 2005 14:50:46 +0900
TANIDA Yutaka <tanida @ sraoss.co.jp> wrote:
> 谷田@現実逃避中です。
>
> On Mon, 07 Nov 2005 14:33:40 +0900
> choice <choice-site @ choice-site.com> wrote:
>
> > ログインの記録を保存している以下のようなテーブルが
> > あるとします。
> >
> > ●テーブル名:loginlog
> >
> > username | logindate
> > ----------+------------
> > a | 2005-11-07
> > c | 2005-11-06
> > a | 2005-11-05
> > b | 2005-11-05
> >
> > このデータから最後にログインした日が「2005-11-05」の
> > ユーザだけを取り出すようにするにはどうしたらよいのか
> > ということで悩んでます。ちなみに取得したい結果はユーザ「b」
> > だけとなります。
>
> 集約関数+havingが使えるケースですね。
>
> select username,max(logindate)
> from loginlog
> group by username
> having max(logindate) = "2005-11-05"
>
> とかは?
>
> #書いてみて、なるほど、こういうケースにも集約関数が使えるのか、
> #と感心したのは秘密
>
> > 僕としては、同じ構造をもつtmploginlogというテーブルをつくり、
> >
> > insert into tmploginlog select username,logindate from loginlog
> > where logindate='2005-11-05';
>
> 一時テーブルは使わないほうがいいですよ。
>
>
> --
> TANIDA Yutaka <tanida at sraoss.co.jp>
>
----
pgsql-jp メーリングリストの案内