mysql:2431
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Thu, 31 Aug 2000 07:23:46 +0900
Subject: [mysql 02431] Re: GROUP BY で全部のレコードを表示させる方法
とみたです。 On Wed, 30 Aug 2000 21:53:20 +0900 moeru@xxxxxxxxxx (moeru) wrote: > ただ、まだ一時テーブルを作成する目的・意義みたいなものが理解できていません。 > 一時テーブルって、自己結合とどう違うのでしょうか? 一時テーブルを使う利点は接続が切れたら勝手に消えてくれるという ことだけです。 > 質問なのですが > _rowidは、マニュアル本によると、システム変数って書いてありましたが > temporaryテーブルを作るときにはシステム変数を使う必要があるのでしょうか? ああ、すいません、寝惚けてました (^^; あれじゃあ意味がない…。 create temporary table hoge (userid int not null, price int not null, index(userid), index(price)); insert into hoge select userid, max(price) from item where itemid = '$itemid' group by userid; select hoge.userid, hoge.price, quantity from hoge, item where hoge.userid = item.userid and hoge.price = item.price order by hoge.price desc; これでどうでしょう? userid 毎の最大 price を一旦一時テーブルに 保存しておいて、その price に一致する quantity を item から取り出す ということをやってます。 > 記憶が確かじゃないのですが(^^; > 以下のクエリーで3.22.32では、目的達成していたように思いますが > > SELECT userid,MAX(price),quantity FROM item WHERE itemid = '$itemid' > GROUP BY userid ORDER BY price DESC; > > 3.23.21-beta にヴァージョンアップしてから問題に気がついたように思います。。 ん〜、私はバグじゃないと思うんですけどね…。 --- とみたまさひろ <tommy@xxxxxxxxxx> http://www.tmtm.org 日本MySQLユーザ会 http://www.mysql.gr.jp
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> ]