MYSQLで最大値の値を取得したいのですがうまくいきません。


SELECT max(count) FROM table

上記のようにすればcountフィールドの全レコード中の最大値が一件返ってくるのですが
さらに範囲をしていして取得したいのですがうまくいきません。

やりたいことは作成日時(created)フィールドの降順で上位30件の範囲内でその中の最大値を一件取得したいのですが、

SELECT max(count) FROM table ORDER BY created desc LIMIT 0 , 30

このようにしてもcountフィールドの全レコード中の最大値が返ってくるのですがどうすればよいのでしょうか?
他もいろいろ試したのですがうまくいきませんでした。どなたか詳しい方教えてください。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/09 11:17:26
  • 終了:2012/09/09 22:48:19

ベストアンサー

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492012/09/09 11:30:51

ポイント70pt

LIMITは一番最後に実行される部分なので、
先にLIMITを有効にしたいならサブクエリにします。

一例

SELECT max(`count`)
FROM (SELECT `count` FROM `table` ORDER BY created DESC LIMIT 0 , 30) a;
id:jinchangz

問題なくできました。ありがとうございます。

2012/09/09 22:47:21

その他の回答(1件)

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492012/09/09 11:30:51ここでベストアンサー

ポイント70pt

LIMITは一番最後に実行される部分なので、
先にLIMITを有効にしたいならサブクエリにします。

一例

SELECT max(`count`)
FROM (SELECT `count` FROM `table` ORDER BY created DESC LIMIT 0 , 30) a;
id:jinchangz

問題なくできました。ありがとうございます。

2012/09/09 22:47:21
id:taknt No.2

きゃづみぃ回答回数13537ベストアンサー獲得回数11982012/09/09 11:33:02

ポイント30pt

select max(count) from (

SELECT count FROM table ORDER BY created desc LIMIT 0 , 30

)

未確認ですが、まず30件取得してから、その中から 最大値を 取得するようにしてやればいいと思いますよ。

id:jinchangz

こちらではできませんでした。末尾で別名を指定しないとだめみたいです。

2012/09/09 22:47:24

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません