• 締切済み

PHP-ランキング表示

データベース上に、ポイントを持つ会員のデータがある場合の表示の方法ですが、同ポイントを持つ会員が複数いる場合に、同順位とし、以下人数分だけ順位を送り、次の順位を表示させるランキングを表示させたいのですが、どうすれば出来るでしょうか? 例えば、 Aさん21ポイント Bさん21ポイント Cさん19ポイントである場合、 1位:Aさん21ポイント Bさん21ポイント 3位:Cさん19ポイント ・ ・ ・ という場合です。 普通に、データを拾ってくると、 1位:Aさん21ポイント 2位:Bさん21ポイント 3位:Cさん10ポイント となってしまいます。 よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

RDBで順位を埋め込んだSQLを発行する方法はあります。 また、PHP側で前のデータと同じデータだったら前の順位を引き継ぐ方法もあります

doc9216
質問者

お礼

ありがとうございます。

関連するQ&A

  • ランキングの並び替え

         A      B     C 1   田中     70     (3)            2   佐藤     100     (1)          3   鈴木     80     (2)                 A    B    C 1  佐藤  100   (1) 2  鈴木   80    (2) 3   田中   70    (3)  ランキングの関数を入れて、何とかCのセルにランキングが表示できるように なったのですが、これを順位ごとに並べ替えるのが、どうしてもうまく出来ません。 下のほうのように、Cセルのランキングを並び替えたときに、A.Bのセルも連動してきれいに並べ替えたいのですが、どなたか分かる方がおりましたらお教え願えないでしょうか? 宜しくお願いいたします。

  • エクセルでスコアランキング表作成について

    エクセルに関する質問です。 エクセルでスコアランキングを作成したいと考えております。 ゲームのスコアを入力していき、自動で順位順に並び替え、 パワーポイントにリンクで自動表示という流れを作りたいと考えております。 (1)入力sheet A列:順位 RANK関数(D列のスコアで順位) B列:参加者NO(固定001~) C列:ニックネーム(任意) D列:スコア 3-4桁の数値 (2)順位表sheet A列:順位 1~50 B列~D列→A列と入力sheetのA列を検索値として、参加者NO、ニックネーム、スコアを順位順に表示 という二つのsheetをつくっております。 スコアが同値で同じ順位が複数発生した際に、順位表sheetでN/Aになってしまいます。 同じスコアだった場合に、順位表に 4位、5位、5位、7位というように表示し、 同順位の人を表示する方法(vlookupですと、上の行しか読み込まれず・・・)が ありましたらご教示いただけないでしょうか? 御確認の程、よろしくお願いします。

  • ランキング表示のプログラム

    質問です。 PHPにて、MySQLからデータを取得し 取得したデータを順位毎にランキング表示するプログラムを記述しているのですが 順位が重なった場合の処理に試行錯誤しています。 具体的には、野球で言えばホームラン数のランキングのように MySQLから「名前」「ホームラン数」のみを取得します。 順位は、ホームラン数でORDER BYにてソートします。 しかし実際は、ホームラン数が同数の場合もあるので そこをPHPロジックにて同率順位として表示できるプログラムを作りたいのです。 一般的にどのような記述方法で実現するのが望ましいのかアドバイス頂ければ幸いです。

    • 締切済み
    • PHP
  • エクセルで順位表を並び替えたい。同順位表示方法は?

    エクセルで順位表を別シートに並び替えたいと考えていますが、同点になった場合はどうしたらよいでしょうか? シート1で集計した結果を参照し、シート2に上から順に1位から表示させる表を作りたいです。 試行錯誤の結果、下記まで作業しました。 ========= <シート1>     A        B       C           (1)商品名  (2)販売額  (3)ランキング  1    a     1000       2 2   b     1500      1 3  c     1000      2 4  d     500      4 5  e     300      5 (1)手入力 (2)SUM関数で集計した値 (3)RANK関数 <シート2>     A        B    C (3) ランキング  (1)商品名 (2)販売額 1 2 3 4 5 (3)手入力 (2)INDEXとMATCH関数 (3)INDEXとMATCH関数 ========= 1)シート2の(3)ランキングをシート1を参照し降順で自動表示させる方法を教えてください。 今は手入力なので、同順位があった場合にずれが生じてしまいます。 2)シート2に同順位表示のまま並び替えする方法を教えてください。 INDEX関数とMATCH関数を使っていましたが、 シート1で同順位表示されていた箇所が、シート2で表示できませんでした。 どうぞ宜しくお願いいたします。

  • エクセル関数 ランキングを使って・・・

    みなさま宜しくお願い致します。 集計作業中に躓いてしまいました。 ランキング表を作成(Sheet1)しているのですが、別シート(Sheet2)に同数で同じ順位が数名います。 Sheet2はあくまで作業シートでその他の情報も含まれているので、Sheet1に表示用を作成しました。 A列に順位(作業列)、B列に実際の順位、C列に名前という風に表示させたいのですが、Vlookupを使用すると次点が抽出されません。Vlookupにそのほかの関数を加えるのかまたは別の関数があるのでしょうか。宜しくお願い致します。 【内容】 Sheet2: A列に1行目~10行目まで実際の順位(同数は同順位)B列に名前。 Sheet1: A列には1行目~10行目まで1~10の数字を(作業列とし、最終的には非表示にしようかと)。 B列には関数式:=SMALL(Sheet2!$A$1:$A$10,Sheet1!A1)を入力し、10行目までオートフィルすると、同数同順位の数値を表示します。 ここからです。 この順位に該当する人をSheet2からVlookupで引っ掛けようにも、次点以降の名前が出てきません。 何か良い方法はありますでしょうか? みなさまのお知恵をください。 宜しくお願い致します。

  • Excel2010 ワーストランキングの作り方

    Excel2010を使用しています。 売上のワーストランキングを作りたいのですが、作り方がわからず困っています。 普通のランキングは作ることができたのですが、ワーストランキングの作り方がわかりません。     A    B    C   D   E   F  1 日付  時間  商品 売価 減価 利益  2 01/10 10:20  ○   100  60   40  3 01/11 10:25  ×   200  140   60  4 01/12 10:21  △   150  50   100  5 01/14 11:00  □   250  190   60  ・  ・  ・ 300 シート1にこのような表があります。 そして別のシートに     A    B    C   D   E   F  1          利益ベスト5  2 順位  日付  商品 利益  3  1   01/12  △  100      4  2   01/11  ×   60  5  2   01/14  □   60  6  3   01/10  ○   40 これはネットで検索して ランキングのシートのA3~A6には =IF(シート1!$F$2="","",IF(RANK(LARGE(シート1!$F$2:$F$300,ROW(A1)),シート1!$F$2:$F$300)>5,"",RANK(LARGE(シート1!$F$2:$F$300,ROW(A1)),シート1!$F$2:$F$300))) と入れたら順位を自動で表示できるようになり、 B3~B6には =IF($A$3="","",INDEX(シート1!$A:$A,1000-LARGE(INDEX((LARGE(シート1$D$3:$D$300,ROW(A1))=シート1$D$3:$D$300)*1000-ROW(シート1$D$3:$D$300),0),COUNTIF($B3:$B3,$B3)))) と入れたら日付が表示されるようになりました。 C列、D列もB列の =IF($A$3="","",INDEX(シート1!$A:$A,1000-・・・ のAをCとFに変えることで商品・利益が表示されるようになりました。 そこでこれのワーストランキングを作りたくてLARGEをSMALLに変えればできるのかと 思っていましたができませんでした。 正直上の関数も完全には理解できていません。 ネットで探しても自分のやりたいことにあう記事がなく質問することにしました。 Excel初心者で説明も下手ですが、よろしければお願いします。 自分の作りたいのは下のようなものです。     A    B    C   D   E   F  1          ワースト5  2 順位  日付  商品 利益  3  1   01/10  ○   40  4  2   01/14  □   60  5  2   01/11  ×   60  6  3   01/12  △   100 よろしくお願いします。      

  • EXCELで複数のグループ内での順位を表示させたい。

    EXCELで複数のグループ内で順位を表示させるようにしたいのですが、 どうすれば良いかわからず困っています。 たとえば、こんなデータがあるとします。 (A列)(B列) 名前  スコア あああ 10 あああ 20 あああ 30 あああ 40 いいい 5 いいい 20 いいい 60 いいい 65 いいい 70 いいい 80 いいい 90  ・   ・  ・   ・  ・   ・ こようなデータを名前別でスコアの降順で順位をつけたいのです。 (A列)(B列) (C列) 名前  スコア 順位 あああ 10  4 あああ 20  3 あああ 30  2 あああ 40  1 いいい 5  7 いいい 20  6 いいい 60  5 いいい 65  4 いいい 70  3 いいい 80  2 いいい 90  1  ・   ・  ・   ・  ・   ・ 名前の種類の数もかなりあります。 このようにグループ内で順位を表示させるにはどのようにしたらいいでしょうか? EXCELは初心者なため、どなたかお詳しい方、どうか宜しくお願い致します。

  • EXCEL ランキング推移について

    こんにちは!質問の件ですが、毎月のランキングをもとに 前回との比較値を算出したいです。 例:2月の比較値を出す場合 ----------------------------------------------------------- 順位  1月   2月   結果 1位 Aさん  Bさん  +1 2位 Bさん  Aさん   -1 3位 Cさん  Cさん  → ----------------------------------------------------------- 結果は、2月は、1月からみてどうなのか? ということになりますが、結果をだすのは どのような式を入れたら宜しいでしょうか? 列の項目順や数は問いません。 よろしくお願いいたします。

  • ランキング

    お世話になります。 自分の好きな●●ランキングを作るとします。 映画でも音楽でも本でもなんでもいいです。 AとBならBのが上、CとDならCのが上、BとCならCのが上、、、とやっていき 出来上がったランキングを一通りチェックして保存したとします。 しばらく経ってから見直すと「なんか違うな」と感じるのは何故でしょうか? よろしくお願いします。

  • ブログランキングに参加されてる方

    ブログランキングに参加されてる方 だいぶ以前からブログは日々更新している者ですが、もうちょっと誰かに見てもらいたく最近ブログランキングが気になっています。 他の人のブログではよく目にしていたのですが、「☆よかったらクリック☆!⇒」という積極性を持てずにいました。 そこでお聞きしたいのですが・・・ Q.もしもあるランキングに登録したら、その順位はどこでカウントするんでしょうか? Q.複数のランキングに参加したら、バナーも複数設置しなければならないんでしょうか? Q.退会した場合は、すぐにランキングから除外(消去)されるんでしょうか? Q.参加してみたメリット、デメリットはありますか? Q.ブログランキングから検索して閲覧する人数は、どれぐらいいるんでしょうか?