ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3987327 順位を求めるSELECT文
質問者:mukkudesu 順位を求めるSELECT文はどう記述すればいいのでしょうか?
ご教授お願いします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/30 14:01
最新から表示回答順に表示

回答

ANo.3 サンプルSQL
テーブル(TBL)に氏名(Name)、得点(Score)があり、成績順に表示する。
SELECT A.Name,COUNT(A.Name)+1 AS 順位 FROM TBL A LEFT JOIN TBL B ON A.Score < B.Score GROUP BY A.Name ORDER BY COUNT(A.Name);

【解説】
自身のテーブルとJoinし、順位付けする項目で自分より良い成績のレコード数+1が順位です。
上記サンプルではAが主体で、Bは自分より得点の高い人(JOIN句参照)の集団を指します。
自分より高得点の人が10人いれば、自分は11位という理屈です。
最高得点の人は自分より高得点の人はいないので、カウントは0です。
順位=0は不自然なので、+1しています。
回答者:nda23
種類:アドバイス
どんな人:専門家
自信:自信あり
回答日時:
08/05/07 11:00
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.2 RDBMSは、ここのカテゴリ通りPostgreSQLですか?
バージョンは?

行を一意に識別できるキーとなる列は、当然、存在しますよね?
順位は、何に対して付けるのですか?
同点があった場合、どのように順位を付けるのですか?
回答者:chukenkenkou
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:
08/05/01 19:00
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 http://www.accessclub.jp/search1/namazu.cgi?query=%8F%87%88%CA
回答者:chie65536
種類:回答
どんな人:一般人
自信:参考意見
回答日時:
08/04/30 16:35
この回答への補足この回答に補足をつける(質問者のみ)
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示