select c.NAME ,c.SJ,c.RZMS
from
(select t.NAME ,t.SJ,t.RZMS,row_number() over(partition by t.NAME order by t.SJ desc) n
from T_FWZX_BE_WXJKRZ t WHERE t.RZZT='正常') c
where n = 1
很关键的语句“row_number() over(partition by t.NAME order by t.SJ desc”,这里n代表着每个名字根据时间进行降序排列的序号,“n=1”就代表每个名字的第一条数据,因为这里是根据时间降序,所以第一条就是每个名字的最新的一条数据