複数の列を返す SQL を作成し、そのうちの 1 つに最大値を選択したいと考えています。例を挙げて明確にしましょう。
実際には、次のようなものが必要です。
Select max(from_date)
,func_status_code
,name
from table
where from_date <= current date
だから私が望むのは、列で最大選択を実行するだけでなく、その行/それらの行の他の列も取得することです。
from_date func_status_code name
2012-08-21 1 A
2012-08-21 4 A
2012-08-20 5 A
2012-08-20 3 A
戻る
from_date func_status_code name
2012-08-21 1 A
2012-08-21 4 A
次のようなサブセレクトを実行できることはわかっています。
select from_date
,func_status_code
,name
from table
where from_date = (Select max(from_date)
from table
where from_date <= current date
)
しかし、なぜ他の方法が機能しないのか理解できません。これを達成する方法を知っている人はいますか?