質問: `b`.`key` in(select max(`kekka`) from `●●` group by `a`.`hoge`) ★質問です。 1)根本的に足りてない知識は何でしょうか? 2)上記の考え方で間違っていませんか? 3)●●には何を入れればよいでしょうか? (`a`を指定してみましたが、unknown column 'kekka' in 'field list'といわれてしまいました) mysqlのバージョンは5.1.57です。
回答: こんな感じ? select a.key,a.hoge,a.int1,a.int2,round(a.int1/a.int2,8) as kekka,a.hogehoge from a left join b on a.key=b.key where (hoge,round(a.int1/a.int2,8)) in (select hoge,max(round(a.int1/a.int2,8)) from a group by hoge) ちなみにkeyとかint1,int2などは予約語です。 慣れてないとすぐハマるのでなるべくフィールド名に使わない方がよいでしょう。