有这样一个表,求一条SQL语句
dph jdrq jdr
001 2005-1-1 a
001 2005-1-2 b
001 2005-1-5 c
002 2005-1-2 a
003 2005-1-1 a
003 2005-1-2 c现在要得出这样的记录,就是在DPH想同的情况下,选出日期最大的那条记录,
001 2005-1-5 c
002 2005-1-2 a
003 2005-1-2 c
求帮忙哦
dph jdrq jdr
001 2005-1-1 a
001 2005-1-2 b
001 2005-1-5 c
002 2005-1-2 a
003 2005-1-1 a
003 2005-1-2 c现在要得出这样的记录,就是在DPH想同的情况下,选出日期最大的那条记录,
001 2005-1-5 c
002 2005-1-2 a
003 2005-1-2 c
求帮忙哦
(select dph, max(jdrq) as jdrq from your_table group by dph) a
inner join your_table b on a.dph=b.dph and a.jdrq=b.jdrq
a.*
from
表 a
where
not exists(select * from 表 where dph=a.dph and jdrq>a.jdrq)
(select a.*,row_number() over(partition by dph order by jdrq desc) row_num
from tabname a
) b
where b.row_num = 1搞定
select * from table_name a
where jdr=(select rn from (select rowid rid,max(jdr)over(partition by dph) rn from table_name
) b
where a.rowid=b.rid)
from tab
group by dph,jdr
FROM (SELECT dph, MAX(jdrq) AS jdrq, RTRIM(dph) + RTRIM(MAX(jdrq)) AS dd1
FROM test
GROUP BY dph) tmp LEFT OUTER JOIN
test ON tmp.dd1 = RTRIM(test.dph) + RTRIM(test.jdrq)