CREATE TABLE `netflowb` (
  `idauto` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `TimeSeconds` int(11) DEFAULT NULL,
  `parsedDate` datetime DEFAULT NULL,
  `dateTimeStr` bigint(20) DEFAULT NULL,
  `ipLayerProtocol` tinyint(2) DEFAULT NULL,
  `ipLayerProtocolCode` varchar(10) DEFAULT NULL,
  `firstSeenSrcIp` varchar(20) DEFAULT NULL,
  `firstSeenDestIp` varchar(20) DEFAULT NULL,
  `firstSeenSrcPort` int(5) DEFAULT NULL,
  `firstSeenDestPort` int(5) DEFAULT NULL,
  `moreFragments` tinyint(2) DEFAULT NULL,
  `contFragments` tinyint(2) DEFAULT NULL,
  `durationSeconds` smallint(5) DEFAULT NULL,
  `firstSeenSrcPayloadBytes` int(11) DEFAULT NULL,
  `firstSeenDestPayloadBytes` int(11) DEFAULT NULL,
  `firstSeenSrcTotalBytes` int(11) DEFAULT NULL,
  `firstSeenDestTotalBytes` int(11) DEFAULT NULL,
  `firstSeenSrcPacketCount` int(11) DEFAULT NULL,
  `firstSeenDestPacketCount` int(11) DEFAULT NULL,
  `recordForceOut` tinyint(2) DEFAULT NULL,
  `slot1min` int(11) DEFAULT NULL,
  `slot5min` int(11) DEFAULT NULL,
  `slot30min` int(11) DEFAULT NULL,
  `slot60min` int(11) DEFAULT NULL,
  PRIMARY KEY (`idauto`),
  KEY `index_nfb_sip` (`firstSeenSrcIp`),
  KEY `index_nfb_sport` (`firstSeenSrcPort`),
  KEY `index_nfb_dip` (`firstSeenDestIp`),
  KEY `index_nfb_dport` (`firstSeenDestPort`),
  KEY `index_nfb_slot1min` (`slot1min`),
  KEY `index_nfb_slot5min` (`slot5min`),
  KEY `index_nfb_slot30min` (`slot30min`),
  KEY `index_nfb_slot60min` (`slot60min`)
) ENGINE=MyISAM AUTO_INCREMENT=23258686 DEFAULT CHARSET=utf8;这个是表结构,但我现在只要上面那个时间parsedDate来统计IP地址数,由于数据比较大我就放部分上来给你看下。
34 1365576936 2013-04-10 06:55:35 20130410065536 17 UDP 172.30.0.3 172.0.0.1 123 123 0 0 0 48 48 90 90 1 1 0 22759615 4551923 758653 379326
35 1365576938 2013-04-10 06:55:38 20130410065538 1 OTHER 172.10.0.6 172.30.1.104 0 0 0 0 0 0 0 74 0 1 0 0 22759615 4551923 758653 379326
36 1365576938 2013-04-10 06:55:38 20130410065538 1 OTHER 172.10.0.6 172.30.1.102 0 0 0 0 0 0 0 74 0 1 0 0 22759615 4551923 758653 379326
37 1365576938 2013-04-10 06:55:38 20130410065538 1 OTHER 172.10.0.6 172.30.1.103 0 0 0 0 0 0 0 74 0 1 0 0 22759615 4551923 758653 379326
38 1365576938 2013-04-10 06:55:38 20130410065538 1 OTHER 172.10.0.6 172.30.1.101 0 0 0 0 0 0 0 74 0 1 0 0 22759615 4551923 758653 379326
39 1365576946 2013-04-10 06:55:45 20130410065546 1 OTHER 172.10.0.6 172.30.1.201 0 0 0 0 0 0 0 74 0 1 0 0 22759615 4551923 758653 379326

解决方案 »

  1.   

    select DATE_FORMAT(parsedDate,'%Y-%m-%d %H'),count(*)
    from netflowb
    group by DATE_FORMAT(parsedDate,'%Y-%m-%d %H')
      

  2.   

    有错误啊版主还有我想的是把数据的统计结果放到另外一个表里:
    类似的结果我希望是这样的:
    00:00 01:00 sum
    01:00  02:00 sum
    ...
    22:00 23:00 sum 
    后面的sum是对应时间内的记录总和,当然这个表我已经建好了。我现在就是希望将netflowb里面的数据记录的总和按时间段统计总和,然后插入到sum里面。用游标怎么实现,或是上面版主的那段代码要怎么修改才行啊版主本人菜鸟,请多多指导。再此感谢你了。
      

  3.   

    版主你好,现在我想统计一天内相同IP的个数怎么统计,针对第一次出现的IP地址也就是上面的源IP地址,如第一条记录是172.30.0.3
    第二条是172.10.0.6.
    这个我该怎么统计?