希望显示结果如下:node_id log_date log_time SumTcpSize
1 20110301 2400 ( )
2 20110301 2400
3 20110301 2400
1 20110302 0005 ( )
2 20110302 0005
3 20110302 0005
1 20110302 0010 ( )
2 20110302 0010
3 20110302 0010
等等如上,时间值递增值为 5, 由于前后两天有相同的时间点,我希望查询出每天每个时间点的SUM()请问满足上述条件,SUM()计算应该怎么设定呢??
以下是一个总的SUM()
create view V_sum as select 'node_id','log_date','log_time',sum('tcp_traffic_size') as SumTcpSizefrom traffic_1_t,traffic_2_t,traffic_3_twhere 'node_id' = '1,2,3' IN (select 'node_id' from traffic_1_t,traffic_2_t,traffic_3_t)and 'log_date' >= "20100301" and 'log_date' <= "20100501" IN (select 'log_date' from traffic_1_t,traffic_2_t,traffic_3_t)
and 'log_time' = "1600" IN (select 'log_time' from traffic_1_t,traffic_2_t,traffic_3_t) group by 'log_time'order by 'log_date' ASClimit 30;谢谢!!!!
1 20110301 2400 ( )
2 20110301 2400
3 20110301 2400
1 20110302 0005 ( )
2 20110302 0005
3 20110302 0005
1 20110302 0010 ( )
2 20110302 0010
3 20110302 0010
等等如上,时间值递增值为 5, 由于前后两天有相同的时间点,我希望查询出每天每个时间点的SUM()请问满足上述条件,SUM()计算应该怎么设定呢??
以下是一个总的SUM()
create view V_sum as select 'node_id','log_date','log_time',sum('tcp_traffic_size') as SumTcpSizefrom traffic_1_t,traffic_2_t,traffic_3_twhere 'node_id' = '1,2,3' IN (select 'node_id' from traffic_1_t,traffic_2_t,traffic_3_t)and 'log_date' >= "20100301" and 'log_date' <= "20100501" IN (select 'log_date' from traffic_1_t,traffic_2_t,traffic_3_t)
and 'log_time' = "1600" IN (select 'log_time' from traffic_1_t,traffic_2_t,traffic_3_t) group by 'log_time'order by 'log_date' ASClimit 30;谢谢!!!!
简单分组是不行的
log_date, log_time varchar
node_id int3个字段都是索引
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。