表A
A B C
20A 2006-07-04 AB
19A 2006-09-03 CC
20A 2006-09-14 CD
19A 2006-07-04 DB
18 2005-09-03 AA
20A 2006-05-03 GG
要求显示如下
A B C
20A AB CD
19A CC DB
18 GG NULL
查出最新的两条记录的C,分成两个字段显示,不知道有没有什么好的语句。
先谢谢各位了。
...全文
982打赏收藏
求SQL语句,在线等
表A A B C 20A 2006-07-04 AB 19A 2006-09-03 CC 20A 2006-09-14 CD 19A 2006-07-04 DB 18 2005-09-03 AA 20A 2006-05-03 GG 要求显示如下 A B C 20A AB CD 19A CC DB 18 GG NULL 查出最新的两条记录的C,分成两个字段显示,不知道有没有什么好的语句。 先谢谢各位了。
兄弟们,帮帮忙啊,我写了一条语句,功能是可以实现,可是总觉得不爽。
下面是实际的语句,给点意见啊。
select a.bond_cgchg_id,a.bondcode,a.最新Rank,b.上一条Rank from
(select bond_cgchg_id,bondcode,changedate,creditrank as 最新Rank from bond_cgchg aa
where changedate=
(select max(changedate) from bond_cgchg where bondcode=aa.bondcode and changedate<getdate()) )
as a
left join
(select bond_cgchg_id,bondcode,changedate,creditrank as 上一条Rank
from bond_cgchg a where changedate=
(select max(changedate) from bond_cgchg where bondcode=a.bondcode and changedate<
(select max(changedate) from bond_cgchg where bondcode=a.bondcode and changedate<getdate()))) as b on a.bondcode=b.bondcode