select rownum as rn,a.CALLID,a.CALLERNO,a.CALLEENO,to_char(a.CALLBEGIN,'yyyy-mm-dd hh24:mi:ss') beginTime,to_char(a.CALLEND,'yyyy-mm-dd hh24:mi:ss')
endTime,a.RELEASECAUSE,a.DISTINCTION,a.CALLOUTCOUNT,a.CALLOUTSUCCESS, b.NAME
from t_agent_latel_releasebillog a,customerinfo b where a.callerno=b.userphone order by begintime因为是联表查询,想查询出所有b.name的不重复记录,并且按照begintime降序排列
endTime,a.RELEASECAUSE,a.DISTINCTION,a.CALLOUTCOUNT,a.CALLOUTSUCCESS, b.NAME
from t_agent_latel_releasebillog a,customerinfo b where a.callerno=b.userphone order by begintime因为是联表查询,想查询出所有b.name的不重复记录,并且按照begintime降序排列
解决方案 »
- 怎么用select选出某列中含有%这个字符的数据?
- 基于还原点的还原是不是不需要归档模式啊?
- 按指定id顺序输出,例如id为(3,12,8,9,45,6),要求查询结果也按照这个顺序输出。这个id是已知的。请高手指定,多谢!!
- 菜鸟学习
- 大量删除数据后,Oracle性能下降
- 非常弱智的问题:我该如何建表操作?
- 存储过程问题。急!
- 这句SQL应该如何写
- 如何用ADO访问linux下的Oracle数据库?
- 我64位操作系统,安装oracle12c后,在cmd命令打开显示Windows\system32;并且启动后输入命令都显示:不是内部或外部命令。。。。。。。
- 触发器问题
- 求助:关于oralce高级复制,怎样实现部分复制!
distinct :如果只是 select b.name from ** 有用,这里来说 其实搜索出的每个行都不是一样的,因为还有其他列是不一样的。感觉你这个需求有点问题,你的意思是同一个 b.name有多条不同的记录,所以要b.name不重复;那同一个b.name下的多条记录要哪条呢?随机选一条么?order by begintime desc 就是降序
select t2.* from (
select t1.*,row_number over()over (partition by t1.NAME order by t1.begintime) rn from(
select rownum as rn,a.CALLID,a.CALLERNO,a.CALLEENO,
to_char(a.CALLBEGIN,'yyyy-mm-dd hh24:mi:ss') beginTime,
to_char(a.CALLEND,'yyyy-mm-dd hh24:mi:ss'endTime,a.RELEASECAUSE,
a.DISTINCTION,a.CALLOUTCOUNT,a.CALLOUTSUCCESS, b.NAME
from t_agent_latel_releasebillog a,customerinfo b
where a.callerno=b.userphone order by begintime
)t1
)t2 where rn=1
最后面再加个order by begintime desc
select * from (
select rownum as rn,a.CALLID,a.CALLERNO,a.CALLEENO,to_char(a.CALLBEGIN,'yyyy-mm-dd hh24:mi:ss') beginTime,
to_char(a.CALLEND,'yyyy-mm-dd hh24:mi:ss')
endTime,a.RELEASECAUSE,a.DISTINCTION,a.CALLOUTCOUNT,a.CALLOUTSUCCESS, b.NAME,row_number() over(partition by b.name order by a.CALLBEGIN desc) cnt
from t_agent_latel_releasebillog a,customerinfo b
where a.callerno=b.userphone
)
where cnt = 1
表示看不太懂
按name 分区(group by ) 时间倒叙,产生一个序列号。