数据库的创建语句如下:
DROP TABLE "PERSON" CASCADE CONSTRAINTS;/*==============================================================*/
/* Table: "PERSON" */
/*==============================================================*/
CREATE TABLE "PERSON" (
"ID" INT not null,
"USERNAME" varchar2(20) not null,
"PASSWORD" varchar2(20) not null,
"REGISTERTIME" DATE not null,
constraint PK_PERSON primary key ("ID")
);
插入测试数据:
begin
for k in 1..100 loop
insert into person(id,username,password,registertime) values('10010'||k,'abc'||k,'000000',to_date('2008-07-17 11:00:00','YYYY-MM-DD HH24:MI:SS'));
end loop;
end;
/
begin
for k in 1..100 loop
insert into person(id,username,password,registertime) values('10011'||k,'abc'||k,'000000',to_date('2008-07-17 12:00:00','YYYY-MM-DD HH24:MI:SS'));
end loop;
end;
一个sql语句达到的效果如下:
注册时间 |0点-1点 |1点-2点 |3点-4点|~~~~~~~|23点-24点|--注册时间的时钟
---------------------------------------------------
20080401 |200 | 102 | 100 | ~~~~~~| 100 |--在时间段里注册的人数
注意:上面的结果只是其中的一种结果,也有另一种,因为时间段是自定义的。
也有可能是这样:
注册时间 |0点-4点 |4点-8点 |8点-12点|~~~~~~|20点-24点|--注册时间的时钟
-----------------------------------------------------
20080401 |302 | 205 | 100 | ~~~~~~| 300 |--在时间段里注册的人数
前段时间我问过一个类似的问题,只是不是动态输出,我现在需要动态输出,希望hebo2005再次帮助,谢谢!
DROP TABLE "PERSON" CASCADE CONSTRAINTS;/*==============================================================*/
/* Table: "PERSON" */
/*==============================================================*/
CREATE TABLE "PERSON" (
"ID" INT not null,
"USERNAME" varchar2(20) not null,
"PASSWORD" varchar2(20) not null,
"REGISTERTIME" DATE not null,
constraint PK_PERSON primary key ("ID")
);
插入测试数据:
begin
for k in 1..100 loop
insert into person(id,username,password,registertime) values('10010'||k,'abc'||k,'000000',to_date('2008-07-17 11:00:00','YYYY-MM-DD HH24:MI:SS'));
end loop;
end;
/
begin
for k in 1..100 loop
insert into person(id,username,password,registertime) values('10011'||k,'abc'||k,'000000',to_date('2008-07-17 12:00:00','YYYY-MM-DD HH24:MI:SS'));
end loop;
end;
一个sql语句达到的效果如下:
注册时间 |0点-1点 |1点-2点 |3点-4点|~~~~~~~|23点-24点|--注册时间的时钟
---------------------------------------------------
20080401 |200 | 102 | 100 | ~~~~~~| 100 |--在时间段里注册的人数
注意:上面的结果只是其中的一种结果,也有另一种,因为时间段是自定义的。
也有可能是这样:
注册时间 |0点-4点 |4点-8点 |8点-12点|~~~~~~|20点-24点|--注册时间的时钟
-----------------------------------------------------
20080401 |302 | 205 | 100 | ~~~~~~| 300 |--在时间段里注册的人数
前段时间我问过一个类似的问题,只是不是动态输出,我现在需要动态输出,希望hebo2005再次帮助,谢谢!
http://topic.csdn.net/u/20080416/11/910e40c1-60f1-441f-8b0f-19a969d30f77.html
谢谢hebo2005的回复,不定列的行列转换要仔细学学才行
不定列的我自己也没写过,有空我也要测试下
这样你后台的SQL只要能取行纪录
然后用交叉表做行列转换,会方便许多