MySQLのクエリについて質問です。1MySQLのクエリについて質問です。コメント欄に示すような、グループ名と点数の一覧が格納されたテーブルがあります。これからグループごとの平均点と、0点以外の点を取る率を出し、ベスト3までを表示させたいのですが、クエリがわからないので作ってください。3みたいなことをすれば出せそうな気がするのですが、わかりません。有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。4.1、5.0、5.1といったレベルまでは、最低限で提示するようにしてください。大きな機能追加、一部の仕様変更があります。自己結合で小さいもの(あるいは大きいもの)の行数を得るユーザ定義変数(名前が、@で始まる変数)を使うといった方法があります。ここでは、ユーザ定義変数を使った例を示します。rank;平均点の大きい順に、@rankという変数を使って、番号を振っています。この番号にrankという別名を付けることで、その外側のクエリで条件指定に使えます。これにより、上位n番目までということを実現しています。平均点などの小数点以下の桁数を変えたいといった場合は、cast関数でdec(4,2)などに変換する方法があります。18:20:53ありがとうございます。version()により5.1.22-rcと出ます。php5から動かしています。mysql_query($sql)でよろしいのでしょうか。追記:上記のコードをphpMyAdminにてSQL生成にて実行したところ、通常版、キャスト版共に非常に良好に(所望の動作で)動作しました。ありがとうございます。あとはこれをphpに実装すれば完成です。以下のようになります。14:58:38ありがとうございます!得点の降順とトップ3までの限定もできれば実現して頂ければ嬉しいです。14:19:12テーブルサンプルです。0として、グループ名はA,B,C,・・・Xまであって、どんなバリエーションがあるかは未知とします(最悪頻出のグループ名を機知として統計を出しても良いですが・・・)。0のうちのトップ3を出したいと思います。14:19:57クエリは複数回実行しても良いです。mysql_query($sql)でそれでいいです。@rank=0と、それ以降のselect文の二つの命令を実行していますので、それぞれを分けてMySQLに投げてください。18:21:33ありがとうございます。select文の中にselect文を入れた構造で実現するのですね。非常に勉強になります。18:23:00(ひとつ前の回答はtakntさん向けのものです)>chuken_kenkouさんありがとうございます。2回mysql_queryすれば良いのですね。迷うところでした・・・ありがとうございます!あとはこれを応用して所望の動作を実現したいと思います(実際のテーブルのカラムは10を超えるのですが、今の基本がわかれば後は早いはず)。19:51:34同点がある場合については、windofjulyさんの指摘どおりで、どのように扱うか決めてください。単純に平均の上位から3件なら、回答済みのselect文より簡単にできます。3;ただし、MySQLのlimit句にはいろいろ制限があり、相関サブクエリなどで使うと、同等の構文を持つPostgreSQLのようには動いてくれない(「xx毎にn件」のような操作は不可)と記憶しています。22:34:01ありがとうございます。理解の範囲を超えつつありますが、恐らく頂いたコードを試してみれば意味がわかると思います。初歩的な質問にこんなに詳しく大勢の方に答えて頂き非常に嬉しいです。23:34:02いつからここ回答欄になったっけか?自分よりも優秀な回答と並べられたときの屈辱を味わいたくないという回答者もいるらしいが。23:39:33ユーザ定義変数での回答が、今回の要件では不要かも知れないので、もう少し意味のある使い方を提示しておきます。Oracleでいう分析関数、標準SQLなどでいうウインドウ関数もどきでのランク付けを、MySQLでユーザ定義変数を使って実装。4といったランク付けを行います。これを使って、rankを条件に指定できます。00:07:10コメント欄で他人の投稿を罵倒するとは、いやはや・・・そういえば、イルカ賞取得率を自慢にしている回答者がいるらしい。22:01:25>chuken_kenkouさん、windofjulyさんありがとうございます。コメント読ませて頂きました。・とにもかくにも降順指定で出てきたものを先頭から3件だけ使う特に縦長になってもかまわないことと、同点同率の順序までは特にこだわりがないので、特に同点同率の処理はせずに素直に出力してしまっています。今のところこれで問題ありません。たくさんの回答感謝致します。21時間前Youtubeのショート動画で、こんなのありますか。エクセルやワードでの、便利な操作を紹介したものです。