mysql:2430
From: (moeru) <<moeru@xxxxxxxxxx>>
Date: Wed, 30 Aug 2000 21:53:20 +0900
Subject: [mysql 02430] Re: GROUP BY で全部のレコードを表示させる方法
2000/08/29 23:40:17 +0900にとみたまさひろ <tommy@xxxxxxxxxx>さんに頂いた 「[mysql 02428] Re: GROUP BY で全部のレコードを表示させる方法」への返事です。 モエルです。 >あ、いや、create table 時に temporary と指定すればいいだけです。 >接続を切れば自動的に消去されます。それ以外は普通のテーブルと >同じです。 一時テーブルを作ることができました(^^) ただ、まだ一時テーブルを作成する目的・意義みたいなものが理解できていません。 一時テーブルって、自己結合とどう違うのでしょうか? > create temporary table hoge (_rowid int not null, > price int not null, index(price)); > insert into hoge select _rowid, max(price) from item > where itemid = '$itemid' group by userid; > select userid, hoge.price, quantity from hoge left join > item using(price) order by hoge.price desc; > ># _rowid や price の型は適当に変更してください。 質問なのですが _rowidは、マニュアル本によると、システム変数って書いてありましたが temporaryテーブルを作るときにはシステム変数を使う必要があるのでしょうか? それから、いただいたものを実行してみました。 > insert into hoge select _rowid, max(price) from item > where itemid = '$itemid' group by userid; ここで、useridごとのmax(price)を出すことができていますが その後の > select userid, hoge.price, quantity from hoge left join > item using(price) order by hoge.price desc; で、useridごとのmax(price)の結果じゃなくて useridがいくつも出てくる結果になります。 記憶が確かじゃないのですが(^^; 以下のクエリーで3.22.32では、目的達成していたように思いますが SELECT userid,MAX(price),quantity FROM item WHERE itemid = '$itemid' GROUP BY userid ORDER BY price DESC; 3.23.21-beta にヴァージョンアップしてから問題に気がついたように思います。。 気になったのは_rowidの数値です。 これは、itemテーブルのindexになってるIDを取ってきてるのでしょうか? そうだとすると、全然違う列のIDを取ってきてます。。 やりたいことは、useridごとの最大価格とその価格の在庫(quantity)を 出したいです。 バグだったりするでしょうか? アドバイスいただけたら嬉しいです。 どうぞ宜しくお願いしますm(__)m モエル
2425 2000-08-29 20:56 [<moeru@xxxxxxxxxx> ] GROUP BY で全部のレコードを表示させる方法 2426 2000-08-29 21:16 ┗[とみたまさひろ <tomm] 2427 2000-08-29 22:21 ┗[<moeru@xxxxxxxxxx> ] 2428 2000-08-29 23:40 ┗[とみたまさひろ <tomm] 2429 2000-08-30 00:17 ┣[<moeru@xxxxxxxxxx> ] -> 2430 2000-08-30 21:53 ┗[<moeru@xxxxxxxxxx> ] 2431 2000-08-31 07:23 ┗[とみたまさひろ <tomm] 2432 2000-08-31 18:19 ┣[Natsu Tanaka <natsug] はじめまして 2434 2000-08-31 23:33 ┃┣[<moeru@xxxxxxxxxx> ] 2435 2000-09-01 00:06 ┃┗[とみたまさひろ <tomm] 2443 2000-09-04 11:33 ┃ ┗[Natsu Tanaka <natsug] みなさんへ 2436 2000-09-01 00:13 ┗[<moeru@xxxxxxxxxx> ]