[前][次][番号順一覧][スレッド一覧]

mysql:4174

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Wed, 15 Aug 2001 21:31:46 +0900
Subject: [mysql 04174] Re: GROUP BY について

とみたです。

On Wed, 15 Aug 2001 19:09:49 +0900
Shinichi Moritani <ml@xxxxxxxxxx> wrote:

> SELECT *,MAX(t1.time) AS maxtime FROM table1 GROUP BY fromid, toid ORDER BY maxtime 
> DESC;
> 
> 上記のSQLを実行した場合、
> fromid, toid の組み合わせでグルーピングされると思いますが、
> 表示では time と maxtime の値が異なっている場合があります。

これはそういうものらしいですよ。

> GROUP BY でグルーピングされたレコードのうち、
> time が一番新しいレコードのみを抜き出したいのですが、
> どなたか良い方法をご存知でしたら、ご教授頂ければと思います。

テンポラリテーブルを使って、

CREATE TEMPORARY TABLE tmp SELECT fromid, toid, MAX(time) AS maxtime FROM table1 GROUP BY fromid, toid;
SELECT no, tmp.fromid, tmp.toid, maxtime FROM table1, tmp WHERE table1.fromid=tmp.fromid AND table1.toid=tmp.toid AND table1.time=tmp.maxtime;

…とかで、できませんかね。試してませんが…。

--
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

[前][次][番号順一覧][スレッド一覧]

      4171 2001-08-15 19:09 [Shinichi Moritani <m] GROUP BY について                       
->    4174 2001-08-15 21:31 ┗[とみたまさひろ <tomm]                                       
      4175 2001-08-16 10:22  ┗[Shinichi Moritani <m]                                     
      4177 2001-08-16 15:23   ┗[Shinichi Moritani <m] Re: GROUP BY について [ 報告 ]    
      4179 2001-08-16 20:14    ┗[とみたまさひろ <tomm]