0

最新の日付のレコードを返す次のクエリを作成しました。

select fs.company_id, max(fs.create_dt) as latestcreatedate
from field_sale fs 
group by fs.company_id
order by fs.company_id

クエリはすべて正常に動作します。しかし、関連するすべての列が関連付けられたレコードを取得する必要があります。id、title、desc など。

対応する列を含むレコードを取得するにはどうすればよいですか?

4

2 に答える 2

2

そうするいくつかの方法:

-- 1. 
SELECT a.* 
FROM field_sale a 
INNER JOIN 
(
select fs.company_id, max(fs.create_dt) as latestcreatedate
from field_sale fs 
group by fs.company_id   
)b 
ON b.company_id = a.company_id AND b.latestcreatedate = a.create_dt
order by a.company_id;

--  2.  
SELECT b.* FROM 
( 
   SELECT a.* , ROW_NUMBER() 
    OVER (PARTITION BY a.company_id ORDER BY a.create_dt DESC)
    AS rn
   FROM field_sale a 
)b WHERE b.rn  = 1
ORDER BY company_id
于 2013-07-12T15:34:48.033 に答える