小编Joh*_*Red的帖子

使用 GROUP BY 并返回超过 2 列

我正在尝试为表中的每个找到最新的 unit_status和该状态 ( )的时间戳cdtsunid

这是我到目前为止想出的:

with cte as 
(
    select * 
    from un_hi 
    where ag_id = 'bfd' and cdts > '201708' and
    unit_status != 'uc'
)
select distinct(unid), max(cdts2) Last_GPS_Report_Date
from cte
where unid in ('C06','C07','D01','D03','D04','D06')
group by unid
order by unid
Run Code Online (Sandbox Code Playgroud)

它正确地返回每个unid时间的他们的最新状态(max(cdts)),但我想看看有什么unit_status了。

我尝试将这个查询加入到UN_HI表中(这是数据的来源),但我无法让它工作。还有其他建议吗?

sql-server-2008 sql-server greatest-n-per-group

5
推荐指数
1
解决办法
1117
查看次数