首先说明:本人菜鸟,基本上就相当于没用过ORACLE。
现有这样的问题现有库中有20W条宾馆入住登记信息。要在其中找出先后登记时间不超过5分钟的三个人且为两男一女的情况的记录并导出。请问如何实现。
现有这样的问题现有库中有20W条宾馆入住登记信息。要在其中找出先后登记时间不超过5分钟的三个人且为两男一女的情况的记录并导出。请问如何实现。
解决方案 »
- exp导出数据时,为什么会有这样的记录?
- 我要从远程的数据库里面获取数据该怎么办?
- ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace "SYSTEM"
- 求命啊,如何在dmp文件中修改next的值啊?
- 如何估计Oracle中一张表占用的表空间大小?
- ROWNUM为什么会倒序显示?
- 高分求助:B/S结构系统中往Oracle数据库的Clob字段中添加信息时经常出现乱字符问题
- 为什么oracle表里不能共存两个long
- 送分大行动,请问大家如何在ORACLE9I当中创建方案(数据库)?
- 新人求教,如何取得表中50%的数据?
- 100分求个数据库启动时报错问题
- select 查询问题
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:63306533; 聊天 群:40132017
Name Type Nullable Default Comments
--------- ------------ -------- ------- --------
ID NUMBER(20) Y
CUST_NAME VARCHAR2(10) Y
ID_NUM VARCHAR2(20) Y
CUST_SEX VARCHAR2(2) Y
ROOM_NUM VARCHAR2(10) Y
IN_TIME DATE Y
SQL>
SQL> WITH t AS (SELECT * FROM customer a
2 WHERE a.cust_sex='女' AND EXISTS (SELECT 1 FROM customer b WHERE b.cust_sex='男' AND abs(a.in_time-b.in_time)<=5/24/60 HAVING COUNT(*)=2)
3 AND NOT EXISTS (SELECT 1 FROM customer d WHERE a.cust_sex=d.cust_sex AND abs(a.in_time-d.in_time)<=5/24/60)
4 )
5 SELECT * FROM customer c,t WHERE abs(c.in_time-t.in_time)<=5/24/60
6 ;
ID CUST_NAME ID_NUM CUST_SEX ROOM_NUM IN_TIME ID CUST_NAME ID_NUM CUST_SEX ROOM_NUM IN_TIME
--------------------- ---------- -------------------- -------- ---------- ----------- --------------------- ---------- -------------------- -------- ---------- -----------
SQL>