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

id | total_point |
----+-------------+-
1 | 129 |
2 | 10 |
3 | 20 |
4 | 30 |
5 | 40 |
6 | 50 |
7 | 60 |
8 | 70 |
9 | 80 |
10 | 90 |
11 | 100 |
12 | 110 |
13 | 120 |
(13 rows)

というテーブルデータがあるのですが、以下のSQLを流すと

select (select count(*) from total_point h2 where h2.total_point>=h1.total_point) as zyun, total_point from total_point h1 order by zyun offset 0 limit 5;

zyun | total_point
------+-------------
1 | 129
2 | 120
3 | 110
4 | 100
5 | 90


こんな結果になるんですよーー。
出来れば、10を指定したら、そこから上五個表示
下五個表示とするにはどんなSQLが必要ですか?
DBはPostgreSQLです。

●質問者: hopefully
●カテゴリ:就職・転職 コンピュータ
✍キーワード:as DB h1 H2 postgreSQL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● sphire
●40ポイント

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.4-ja/queries...

SELECT (SELECT COUNT(*) FROM total_point h2 WHERE h2.total_point>=h1.total_point) AS zyun, total_point FROM total_point h1 WHERE zyun>=$num-5 AND zyun<=$num+5 ORDER BY zyun;


WHEREで条件を指定

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



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