仅sybase最后一个值

fwzugrvs  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(302)

我在为这个案子寻找解决办法:

select pimpfung.idpatientklinik, pimpfung.idpatient_vaccination, pimpfung.datum                                                                                                                              
From ictq.pimpfung
order by   pimpfung.idpatientklinik

输出为:

idpatientklinik;idpatient_vaccination;datum
1;5500;01.02.2001
1;5567;05.09.2003
3;7766;22.08.2005
3;8899;25.09.2006
3;8900;29.09.2006

但我想要这样的输出:

1;5567;05.09.2003
3;8900;29.09.2006

(仅最后的值按“pimpfung.datum”desc排序)
怎么做?
谢谢你,对不起我的英语不好;—)

c9x0cxw0

c9x0cxw01#

可以使用相关子查询:

select p.*
from pimpfung p
where p.datum = (select max(p2.datum)
                 from pimpfung p2
                 where p2.idpatientklinik = p.idpatientklinik
                );

带索引的 (idpatientklinik, datum) 这通常是最快的方法。
这里有一个db<>fiddle(它使用sqlserver,但这都是标准sql)。

相关问题