- ベストアンサー
MySQLで最小値
次の様な連番が入ったseqというフィールドがあります。 => select seq from hoge order by seq desc; seq ----- 427 426 425 424 423 422 421 420 419 418 (10 rows) これにlimit 5とすると次の様にな結果になります。 => select seq from hoge order by seq desc limit 5; seq ----- 427 426 425 424 423 (5 rows) このlimit 5で表示された結果の最小値(423)を取得したいのですが 上手くいきません。(わかりません) min(seq)を試してみたのですが418が返ってきてしまいます。 => select min(seq) from hoge order by seq desc limit 5; min ----- 418 (1 rows) limitで表示された結果の最小値(423)を とる事はできるのでしょうか? どうぞ宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
最小値っていうか、5件目のデータだよね。 select seq from hoge order by seq desc limit 4,1; じゃダメ?
その他の回答 (1)
- n-ie
- ベストアンサー率26% (16/60)
回答No.1
私は結果をすべて配列に読み込んでしまってから、それをソートしています。SQLだけじゃ、無理なんじゃないでしょうか…?
質問者
お礼
配列ソート用の関数も作ってみました。 ご返答ありがとうございました。
お礼
ぜんぜんダメじゃありませんでした。 「最小値」に意識がいってしまって limitで、指定した部分(行)が とれるのをスッカリ忘れてしまってました。 ありがとうございました。