|
|
|
Запрос.
|
|||
|---|---|---|---|
|
#18+
Есть две таблицы traffic_tmp и xl0_2005_03 в обоих одинаковый набор столбцов - date(date), time(time), IP(varchar), port(varchar), protocol(varchar), bytes(varchar), all_bytes(varchar). Надо перенести все данные из таблицы traffic_tmp в xl_2005_03 при этом сложить столбцы bytes и all_bytes у тех строк у которых в столбцах date, time, IP, port, protocol одинаковое значение (Короче: есть строчки отличающиеся только значением столбцов bytes и all_bytes, надо вместо нескольких строк сделать одну при совпадающих значениях по ВСЕМ столбцам кроме bytes и all_bytes, при этом sum(bytes) as bytes и sum(all_bytes) as all_bytes - так наверное понятней.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2005, 17:32 |
|
||
|
Запрос.
|
|||
|---|---|---|---|
|
#18+
Можно перенести все с помощью UNION в одну временную таблицу, а из нее уже соберать то, что тебе надо через group by. Чем-то похоже на это . Для корабля, который не знает куда плыть, нет попутного ветра... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2005, 23:28 |
|
||
|
Запрос.
|
|||
|---|---|---|---|
|
#18+
Э-э-э... там только по одному урлу совпадение. Проще... У меня должны совпасть все поля, кроме двух. Идея с временной таблицей тоже есть - на пальцах оно всё понятно, а вот как начинается практическая реализация - ничё не выходит... Как мне оно видится "на пальцах": во временную таблицу скидывается всё кроме двух последних колонок, затем все повторяющиеся строки ампутируются (тока как?), оставшиеся уникальные строки по очереди сравниваются со стороками исходной таблицы traffic_tmp, и если совпадают число в bytes и all_bytes суммируются.... Дополз до конца - и как итог в окончательную таблицу вносится строка по которой проводилось сравнение и две получившиеся суммы. Можно реализовать часть всего этого хозяйства через shell-скрипт (всё равно занесение данных и первоначальная обработка идёт из него)... Опять-таки всё "на пальцах".... P.S. А ситуация похожа с примером по ссылке выше и в другом - цель - разгрузить сервак в будущем, когда по этим таблицам будут делаться выборки... :) Не 30000 конечно, но и сервак не шустрый - P-I.... :) Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 00:21 |
|
||
|
Запрос.
|
|||
|---|---|---|---|
|
#18+
Хм... Ну, вот смотри: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Ну и в итоге: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Как видишь, он сгруппировал по порту и IP-шнику (суммирует, тока если оба поля совпадают). Я сделал таблицы только с двумя совп. полями - если у тебя их больше - все то же самое, просто мне было лень забивать кучу полей. :) Для корабля, который не знает куда плыть, нет попутного ветра... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 01:14 |
|
||
|
Запрос.
|
|||
|---|---|---|---|
|
#18+
Благодарствую! Идею ухватил, вечером буду пробовать (это на домашней машине). Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 09:08 |
|
||
|
Запрос.
|
|||
|---|---|---|---|
|
#18+
Как оказалось - мне достаточно последнего запроса. Код: plaintext 1. 2. Спасибо! Всё гениальное - просто.... Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2005, 09:48 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32950302&tid=1854283]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
90ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 266ms |
| total: | 472ms |

| 0 / 0 |
