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

以下のSQLを実行すると
select (select count(*) from total_point h2 where h2.total_point>=h1.total_point) as zyun, total_point, point_count from total_point h1 where total_point > '6000' order by zyun ;

以下のように結果が返ります。
zyun | total_point | point_count
------+-------------+-------------
1 | 1038100 | 1
2 | 750000 | 1
3 | 550000 | 1
4 | 547500 | 1
5 | 90000 | 1
6 | 80000 | 1
7 | 60000 | 3
8 | 50000 | 3
9 | 10000 | 1

ここで、zyunが9から5個だけを抽出したい
場合はorder by desc limit 5で取得出来るのですがその結果をPHP側で逆順に取得する場合は
どうしたらいいですか??
まあSQLで出来れば一番良いのですが。
わかりますか??

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

▽最新の回答へ

1 ● ito-yu
●35ポイント

SELECT * FROM (select (select count(*) from total_point h2 where h2.total_point>=h1.total_point) as zyun, total_point, point_count from total_point h1 where total_point > '6000' order by zyun DESC LIMIT 5) AS x ORDER BY zyun;

とかじゃだめですか。

AS x はDBMSによっては不要かも知れませんが念のため

◎質問者からの返答

ありがとうございます。


2 ● llusall
●35ポイント

limit 5 で取得したデータを、副問合わせで、もう一度order by すれば良いかと思います。

select * from

(

select ・・・ order by zyu desc limit 5

)

order by zyu

関連質問


●質問をもっと探す●



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