oracle sql how to write?
wyjam 2006-06-11 11:26:41 要求:
三张表,DATA,CRO,DIR.
create table DATA (
OID NUMBER not null,
RED NUMBER default 0,
CROID NUMBER default 0,
DIRID NUMBER default 0,
YDATE DATE default SYSDATE, //这个为记录对应的时间
constraint PK_DATA primary key (OID)
)
/
CREATE TABLE CRO(
OID NUMBER NOT NULL,
NAME VARCHAR(20) ,
NO NUMBER DEFAULT 0,
IP VARCHAR(20),
constraint PK_CRO primary key (OID)
)
CREATE TABLE DIR(
OID NUMBER NOT NULL,
NAME VARCHAR(20) ,
NO NUMBER DEFAULT 0,
IP VARCHAR(20),
constraint PK_DIR primary key (OID)
)
SELECT COUNT(*) AS SUM,B.NO,
B.NAME||' '||C.DIR AS NAME,
B.IP FROM DATA A,CRO B,DIR C WHERE A.CROID = B.OID AND A.DIRID = C.OID GROUP BY
B.NO,B.NAME||' '||C.DIR,B.IP
上面的这个语句可以搞出对应的分组的记录。
现在想加入一个一天中24小时对应的一个小时的记录条数。
结果如下:
NO NAME IP 2006-06-10 01:00:00(时间段的SUM)=1HOUR 2006-06-10 02:00:00(时间段的SUM)=2HOUR...
1 家 192.168.0.1 3 12 ...