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

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>  ]