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]