解决方案 »
- 安装oracle客户端11g和10g都安装失败
- 求一条sql语句
- 字段属于哪个表的sql语句
- length()问题求教?
- 关于开发MIS系统登录时权限控制的问题
- 在ADO.Net中如何实验一个函数同时往两个表中插入数据
- oracle9i client连接服务器的问题
- 高分请问:异常处理语句 sqlcode<>0 和sql%rowcount=0的区别,谢谢!
- 请教Oracle高手,制作dat批处理文件启动Oracle服务?
- !!急这个SQL怎么写,难了我个把小时了,请高手务必帮忙(在线等待)!!
- 大家帮我看下哦,为什么触发器执行before insert 去更改值,还会有被漏掉的情况啊?
- 求一条sql语句,两条数据合并为一条结果集显示??
以下语句已考虑时间段交叉的情况
WITH T1 AS(
select connect_by_root(s) S,E
from t T1
connect by prior s<=s and prior e>=s AND PRIOR ID<>ID
start with not exists(select 1 from T WHERE S<=T1.s and E>=T1.S AND ID<>T1.ID)
)
SELECT SUM(MAX(E)-S)
FROM T1
GROUP BY S
这个条件 就是说,当前记录的起始时间不属于任何其他记录代表的时间段
WITH T1 AS(
select connect_by_root(s) S,E
from t T1
connect by prior s<=s and prior e>=s AND PRIOR ID<>ID
start with not exists(select 1 from T WHERE S<=T1.s and E>=T1.S AND ID<>T1.ID)
)
SELECT S,MAX(E) AS E
FROM T1
GROUP BY S
此外,集算器提供JDBC接口,可以象数据库一样嵌入到应用程序中,用起来很简单。