首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

通话记录查询sql解决办法

2013-01-05 
通话记录查询sql这是一张记录用户A 给b 和 c 通话的记录time是通话日期如何从表中查出A所打的不同用户中的

通话记录查询sql
通话记录查询sql解决办法


这是一张记录用户A 给b 和 c 通话的记录
time是通话日期

如何从表中查出A所打的不同用户中的通话日期距离当前最近的记录 
上表 

期望结果:
A C 2012.5.22
A B 2012.3.23
[解决办法]

with t (c_id, p_id, time) as (
          select 'A', 'B', to_date('2012.03.12', 'yyyy.mm.dd') from dual
union all select 'A', 'B', to_date('2012.03.23', 'yyyy.mm.dd') from dual
union all select 'A', 'C', to_date('2012.04.12', 'yyyy.mm.dd') from dual
union all select 'A', 'C', to_date('2012.05.22', 'yyyy.mm.dd') from dual
)
select c_id, p_id, max(time) from t group by c_id, p_id;

[解决办法]

select * from 你的表 t1 where t1.time=(select max(time) from 你的表 t2 where t1.c_id=t2.c_id and t1.p_id=t2.p_id);

热点排行