现有两张表(oracle 9i), hour(小时表)和day(日表)
hour表:
ProvinceID number(5) /* 省份 */
LocalArea number(10) /* 地区 */
StatDate varchar2(10) /* 统计时间(YYYYMMDDHH24) */
BtNum1 number(10) default 0, /* BT接收包(流量) */
BaiduNum2 number(10) default 0, /* 百度接收包(流量) */
GnutellaNum3 number(10) default 0, /* Gnutella接收包(流量)*/
EdonkeyNum4 number(10) default 0, /* Edonkey接收包(流量)*day表和上面一样,除了StatDate varchar2(10) /* 统计时间(YYYYMMDD) */页面要实现按照省份、地区、时间这三个查询条件,统计两个表的BtNum1、BaiduNum2、GnutellaNum3、EdonkeyNum4 这四个字段值的大小,并且按照各个字段值的大小在DataGrid里排名显示,
如 小时表 hour 日表
省份 地区 统计时间 协议 省份 地区 统计时间 协议
广东 深圳 200506300905 BT 广东 深圳 20050630 BT
湖北 武汉 200509010130 Baidu 湖北 武汉 20050901 Baidu综上所叙,我想问1.如何统计BtNum1、BaiduNum2、GnutellaNum3、EdonkeyNum4 这个字段值的大小并且排名在DataGrid显示
2.要统计两个表并排名,只有一个DataGrid,请问如何是好啊?
hour表:
ProvinceID number(5) /* 省份 */
LocalArea number(10) /* 地区 */
StatDate varchar2(10) /* 统计时间(YYYYMMDDHH24) */
BtNum1 number(10) default 0, /* BT接收包(流量) */
BaiduNum2 number(10) default 0, /* 百度接收包(流量) */
GnutellaNum3 number(10) default 0, /* Gnutella接收包(流量)*/
EdonkeyNum4 number(10) default 0, /* Edonkey接收包(流量)*day表和上面一样,除了StatDate varchar2(10) /* 统计时间(YYYYMMDD) */页面要实现按照省份、地区、时间这三个查询条件,统计两个表的BtNum1、BaiduNum2、GnutellaNum3、EdonkeyNum4 这四个字段值的大小,并且按照各个字段值的大小在DataGrid里排名显示,
如 小时表 hour 日表
省份 地区 统计时间 协议 省份 地区 统计时间 协议
广东 深圳 200506300905 BT 广东 深圳 20050630 BT
湖北 武汉 200509010130 Baidu 湖北 武汉 20050901 Baidu综上所叙,我想问1.如何统计BtNum1、BaiduNum2、GnutellaNum3、EdonkeyNum4 这个字段值的大小并且排名在DataGrid显示
2.要统计两个表并排名,只有一个DataGrid,请问如何是好啊?
-----------------
用sum()函数。
如:select sum(BtNum1) from hour
select btnum from (select sum(BtNum1) btnum from hour) order by btnum;
select btnum from (select sum(BaiduNum2) btnum from hour) order by btnum;
select btnum from (select sum(GnutellaNum3) btnum from hour) order by btnum;
select btnum from (select sum(EdonkeyNum4 ) btnum from hour) order by btnum;
统计两个表并排名,只有一个DataGrid也可以啊,N个表都可以,DataGrid是数据显示的界面,填充其的数据源只要得到正确的数据就可以了.
200506300905 意思是2005/6/30 9点05分的流量,而要统计的是一个小时内的流量,对吗?
select sum(a.btnum1) as h1,sum(a.baiduNum2) as h2,sum(a.Gnutellanum3) as h3,sum(a.edonkeyNum4) as h2..from hour a,day b group by 省份 地区 统计时间 协议...
2.要统计两个表并排名,只有一个DataGrid,请问如何是好啊?
不知道这两个表有没有关联性,如果没有就用(select from time .. )Union (select from Date)
有关联就在where条件里加上,同时在两个表做select 就可以了...
以上只是说明个人的思路,具体的语句还要自己调试..
我需要的是对表的那四个字段比较大小,然后像下面这样显示在DataGrid,不是对一个字段的若干值进行操作。
例如在day表里,统计出来了各个字段的总和,然后需要对这4个字段之间比大小,比较出大小后,然后像下图显示。省份 地区 协议 流量
广东 深圳 BT 1000
广东 深圳 Baidu 850
广东 深圳 Edonkey 600
广东 深圳 Guntella 500