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

mysql:12291

From: Shinya Kawaji <Shinya Kawaji <kawaji@xxxxxxxxxx>>
Date: Thu, 27 Oct 2005 01:15:03 +0900
Subject: [mysql 12291] Re: mySQLでの順位付け

かわじ、です。


> 現在、個人サイトで、PHPとmySQLを使い、音楽配信サイトを制作しておりまして
> その際に、順位という概念を付け加えたく思いました。
> mySQLでダウンロード数を管理しているのですが
> これを元に、順位の概念を取り入れる事は可能でしょうか?
> お手数ですが、ご指南頂けますでしょうか。

漠然としている質問なのですが、類推するに、

  ダウンロード数に応じたソートは、
  select * from musics order by download desc;
  で可能だが、それには「順位」の数値が入っていない。
  「順位」の数値をどうやって付けたらいいの?

ということでしょうか。

もしそうであれば、一番簡単なのは、SQL ではなく、PHP側で順位を付けてしまうこ
とです。そうすれば、「ダウンロード数が同じであれば、同順位を付ける」とか、
いろいろ応用も出来ます。


実際のコードではないですが、言葉で説明すると、例えば上位 20件のランキングを
表示する場合、

 1. select * from musics order by download desc limit 20; などして、
    上位 20件のデータを得る。

 2. 20件のデータをループで廻しながら、以下のようにする。
     * 最初のデータは、必ず 1位。次のデータ以降は、前のデータとダウンロード
       数が同じなら前と同順位、違えばデータの出現順に応じた順位。
     * 適宜、表形式などになるようにデータ内容を出力する。

という感じかと思います。



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

     12290 2005-10-26 15:37 [<makocan5651@xxxxxxx] mySQLでの順位付け                       
->   12291 2005-10-27 01:15 ┣[Shinya Kawaji <kawaj]                                       
     12296 2005-10-27 11:39 ┗[Atsushi Odagiri <a.o]