|
|
|
Агреггация таблицы
|
|||
|---|---|---|---|
|
#18+
Есть вот такая вот табличка: CREATE TABLE `traffic_temp_day` ( `DAY` datetime NOT NULL default '0000-00-00 00:00:00', `FromIP` varchar(15) NOT NULL default '', `SPort` int(10) unsigned NOT NULL default '0', `X12` varchar(7) NOT NULL default '', `X3` int(10) unsigned NOT NULL default '0', `X4` int(10) unsigned NOT NULL default '0', `DPort` int(10) unsigned NOT NULL default '0', `Bytes` int(10) unsigned NOT NULL default '0', `IFace` varchar(20) NOT NULL default '', `RouterID` int(10) unsigned NOT NULL default '0', KEY `Day_X1234` (`X3`,`X4`,`FromIP`), KEY `FromIP` (`FromIP`,`X12`,`X3`,`X4`) ) TYPE=MyISAM; Надо её свернуть по `FromIP`,`X12`,`X3`,`X4` просуммировав `Bytes`. Немного урежу чтобы было понятней: CREATE TABLE `traffic_temp_day` ( `FromIP` varchar(15) NOT NULL default '', `X12` varchar(7) NOT NULL default '', `X3` int(10) unsigned NOT NULL default '0', `X4` int(10) unsigned NOT NULL default '0', `Bytes` int(10) unsigned NOT NULL default '0' ) TYPE=MyISAM; Данные: '1.1.1.1','192.168','0','1','1000' '1.1.1.1','192.168','0','2','2000' '1.1.1.1','192.168','0','1','3000' '1.1.1.1','192.168','0','2','4000' должно получиться: '1.1.1.1','192.168','0','1','4000' '1.1.1.1','192.168','0','2','6000' Какбы это по-оптимальней сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2004, 15:49 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1854740]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
19ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 348ms |

| 0 / 0 |
