GROUP BYしたカラム以外のカラムで優先順位を決める方法

GROUP BY で指定したカラムの値が、同じ値の行はグループ化されるが、GROUP BY で指定していないカラムの値は、どの行の値を優先させるか、通常は決めることができない。

例えば、下記のようなSQLだと、得られるidの優先順位は指定できない。(実際、昇順で最初のものがくる場合が多いが、保証はされない)

 

この場合は、副問い合わせで対応するのが一般的なやり方らしい。

 

ちなみにWHERE句で絞る場合も、副問い合わせの中で絞らないとダメ。なので、下記の場合は失敗する。

 

参考サイト)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*