人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

すみません。下記の質問をしたのですが、追記です。
ポイントは、一つの会員に複数個持ってまして
その場合はどの様にすればよいでしょうか?
※要するには、SUM(point) as bとし、このポイントを順位の対象にしたいのです。

--------------------------------------------
MySQLで質問です。
ある会員でポイントの順位を付けているのですが
全会員の順位は付ける事が出来るのですが
特定の会員IDのみの順位を取得するには、どういったSQLを
発行すればいいでしょうか?
------------------------------------------

●質問者: makocan
●カテゴリ:インターネット ウェブ制作
✍キーワード:as MySQL point すみません ポイント
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● chuken_kenkou
●35ポイント

MySQLのバージョンは、何でしょうか?

ユーザ変数を使った例です。

set @rank=0;
select
 @rank:=@rank+1 as rank,
 id,
 sum_p
 from(
 select
 id,
 sum(point) as sum_p
 from t1
 group by id) as x
 order by sum_p desc

これ以外では、自己結合する方法があります。

MySQL 5.0以降ならビュー表を定義できるので、共通のクエリをビューにすればSQL自体はシンプルにできます。

http://q.hatena.ne.jp/だみー

◎質問者からの返答

すみません。

自己結合する方法も頂いてもよろしいでしょうか?


2 ● chuken_kenkou
●35ポイント

MySQL 5.0以降なら、ビュー表を使えます。

create view vt1
 as
 select id,sum(point) as p from t1 group by id
;

このビュー表を活用すると、SELECT文をシンプルに書けます。

select
 (select count(*) from vt1 where p>=x.p) as rank,
 p,
 id
 from vt1 as x
 -- where id=5
 order by p desc
;

http://q.hatena.ne.jp/だみー

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ