有一个表app,字段有 appln_no, appln_date, applncnt_name
三个字段合起来为primary key,假设已知一个appln_no, 我要求出最latest(appln_date 最大的)record.例如, appln_no = 'G1234F'数据库里可能是这样: appln_no appln_date applncnt_name
G1234F 20051001 duck
G1234F 20051101 duck
G1234F 20051201 duck我给出G1234F, 要得到就是上面第三个record, (G1234F, 20051201, duck)我的sql 这样写
select *
from app
where appln_no = 'G1234F'
and appln_date = (select max(appln_date) from app where appln_no = 'G1234F') 可以拿到我想要得纪录,但我觉得这个sql语句写得有些傻,哪位高手指点一下, 谢谢
三个字段合起来为primary key,假设已知一个appln_no, 我要求出最latest(appln_date 最大的)record.例如, appln_no = 'G1234F'数据库里可能是这样: appln_no appln_date applncnt_name
G1234F 20051001 duck
G1234F 20051101 duck
G1234F 20051201 duck我给出G1234F, 要得到就是上面第三个record, (G1234F, 20051201, duck)我的sql 这样写
select *
from app
where appln_no = 'G1234F'
and appln_date = (select max(appln_date) from app where appln_no = 'G1234F') 可以拿到我想要得纪录,但我觉得这个sql语句写得有些傻,哪位高手指点一下, 谢谢
from app
where appln_date = (select max(appln_date) from app where appln_no = 'G1234F')
where appln_no = 'G1234F'
from(
select *
from app
where appln_no = 'G1234F'
order by appln_date desc
)
where rownum = 1
我觉得 sinusoid 的答复有逻辑错误,你写的sql 不能保证拿到的纪录的appln_no 是'G1234F'
而 chyf212 的 答复应该有语法错误,xluzhong(Ralph)的方法我试了ok, 但是我查了一下,好像rownum 不能保证很准确,我不是太清楚, anyway, 谢谢你们!!!