• ベストアンサー

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)を とる事はできるのでしょうか? どうぞ宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

最小値っていうか、5件目のデータだよね。 select seq from hoge order by seq desc limit 4,1; じゃダメ?

sonar
質問者

お礼

ぜんぜんダメじゃありませんでした。 「最小値」に意識がいってしまって limitで、指定した部分(行)が とれるのをスッカリ忘れてしまってました。 ありがとうございました。

その他の回答 (1)

  • n-ie
  • ベストアンサー率26% (16/60)
回答No.1

私は結果をすべて配列に読み込んでしまってから、それをソートしています。SQLだけじゃ、無理なんじゃないでしょうか…?

sonar
質問者

お礼

配列ソート用の関数も作ってみました。 ご返答ありがとうございました。