• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:よければ教えて頂きたいです。)

SQLの最大値取得に関する問題

このQ&Aのポイント
  • SQLの最大値取得に関する問題について教えてください。
  • 指定のSQL文に最大値取得の条件を追加したところ、一部のデータが表示されなくなりました。
  • 差異の原因がわからず困っています。ご教授いただけないでしょうか?

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

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

あ、前回の回答は正確ではなかったですね ただしくは SELECT kid,id,name,day,tday FROM em WHERE (kid,name,day) IN (SELECT kid,name,MAX(day) FROM em where kid=$_SESSION["kid"] GROUP BY name) そしてdayのmaxがかぶる場合にstの最大値をとるのであれば こんな感じでしょうか SELECT kid,id,name,day,tday,st FROM em WHERE (kid,name,day,st) IN (SELECT kid,name,day,max(st) FROM em WHERE (kid,name,day) IN (SELECT kid,name,MAX(day) FROM em where kid=$_SESSION["kid"] GROUP BY name) group by name)

drmada
質問者

お礼

うまくいきました。いつも丁寧な回答ありがとうございます。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

> SELECT name,MAX(day),MAX(st) FROM em GROUP BY name 上記SQLですと、最大値が同じ日の最大スタート時間のレコードは取得できないので、以下の目的は果たせないのではないかと。 > 最大値が同じ日があれば二つ表示されるのを防ぐためスタート時間も加えてみました。

関連するQ&A