Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 23 Aug 24 12:51:58, всего сообщений: 8555
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 3825 из 8555 ========================================= RU.LINUX =
От   : Anatoly Vesnin                   2:5031/43          03 Feb 17 17:33:18
Кому : Maxim Romanenkov                                    03 Feb 17 17:33:18
Тема : помогите с SQL-запросом
FGHI : area://RU.LINUX?msgid=2:5031/43+589495fe
На   : area://RU.LINUX?msgid=2:5020/570.35+58916ee9
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.LINUX?msgid=2:5020/570.35+589609a8
==============================================================================
Здpавствуй, Maxim!

Среда 01 Февраля 2017 07:29, ты писал(а) All, в сообщении по ссылке area://ru.linux?msgid=2:5020/570.35+58916ee9:

MR> Привет, All!

MR> Hикак не соображу как составить запрос в postgres-е.
MR> Дано:
MR> таблица "swedro" примерно следующего содержания

MR> Требуется:
MR> найти порты которые сканировал конкретный адрес, и если каждый раз это
MR> был один и тот же 23-й порт - положить в другую таблицу

 К сожалению, нет под рукой постгреса, пробовал на MySql
 Если я всё правильно понял, то у меня получилось решить через view.

view1 выглядит так:

select
  `tb`.`ad` AS `ad`,
  count(`tb`.`pt`) AS `cnt`
from
  `tb`
where
  (`tb`.`pt` = 23)
group by
  `tb`.`ad`

Он выводит список адресов, которые сканировали 23 порт и количество сканирований.

И запрос получается таким:
select
  `tb`.`ad` AS `ad`,
  `t`.`cnt` AS `cnt`,
  group_concat(`tb`.`pt` separator ',') AS `list_pt`
from
  `tb`
  left join `view1` `t` on `tb`.`ad` = `t`.`ad`
where
  `t`.`cnt` > 0
group by
  `tb`.`ad`

Запрос возвращает список адресов, которые сканировали 23 порт и список портов, которые они вообще сканировали

Я так понимаю, что функцию group_concat можно заменить на aggr_arr, который ты использовал.



Со всяческими регардами,
                     Anatoly
--- Хотелось бы отдельно поблагодарить Кирилла с Мефодием.
* Origin: Сколько было этих дней? Все прошли, их нет теперь... (2:5031/43)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.088135 секунды