1

我有一张这样的桌子

id ref 状态日期

1 150 P 10/01/2010
2 150 P 11/01/2010
3 150 P 12/01/2010
4 151 P 10/01/2010
5 151 C 空
6 152 P 11/01/2010
7 152 P 12/01 /2010
8 152 C 空

我想要的是根据列日期检索所有状态等于C和(对于那些状态为P的)最后一条记录的记录。

例如:

id ref 状态日期

3 150 P 12/01/2010
5 151 C 无
8 152 C 无

到目前为止,我已经尝试进行子查询,但我没有根据日期获得最后一条记录。

我正在使用 Sybase 8.0.2.4542。十分感谢大家!!

4

1 回答 1

1

尝试使用解决方案:

select id, ref, status, max(date)
from table 
where status = 'P'
group by id, ref, status, date
union all
select id, ref, status, date
from table 
where status = 'C'

一个查询:

select *from 
(select id, ref, status, max(date)
from table 
where status = 'P'
group by id, ref, status, date
union all
select id, ref, status, date
from table 
where status = 'C') RES  
于 2013-03-07T20:54:04.743 回答