• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:最大値の集計結果に関連データを付加する)

最大値の集計結果に関連データを付加する

このQ&Aのポイント
  • 1日24回(約1時間毎に)米ドルの為替レートを記録したテーブル(米ドルtbl)があり、内部に数年分のデータが蓄積されています。
  • 各月の米ドルの最大値(最安値)を求めたければ、select year(datetime) as 年, month(datetime) as 月, max(usd) as 最大値 from 米ドルtbl group by 年, 月;とすれば、結果が得られます。
  • 求めた最大値のテーブルに、その最大値を取得した日時を加えるには、どのような構文を書けば良いか分からないとのことです。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

いまのままのテーブル構成だと集計にあまり向いていないと思いますが とりあえず動けばいいというならこんな感じでサブクエリにして joinすればいいのでは? select 年,月,最大値,`datetime` from 米ドルtbl inner join ( select year(`datetime`) as 年, month(`datetime`) as 月, max(usd) as 最大値 from 米ドルtbl group by 年, 月 ) as sub on year(`datetime`)=年 and month(`datetime`)=月 and usd=最大値

gellan
質問者

お礼

早速のご回答ありがとうございます。 さて、頂いた構文を実行したところ、一発で希望通りの結果が得られました。 テーブル(クエリ)をjoinする場合、onする項目はandで複数設定可能なんですね。 恥ずかしながら、初めて知りました。 どうもありがとうございました。

関連するQ&A