Задать вопрос
@Atraides

SQL запрос в БД заббикса?

Добрый день, пытаюсь из бд заббикса одним запросом получить таблицу с именами хостов и последним значением элемента данных по этим хостам, в sql новичок получилось вообщем вот таким запросом :
SELECT hosts.name,hosts_groups.hostid,items.itemid,history_text.value,history_text.clock
FROM hosts
inner JOIN hosts_groups ON (hosts.hostid=hosts_groups.hostid AND hosts_groups.groupid = "77") (получаем ID хостов из группы 77)
inner JOIN items ON (hosts.hostid=items.hostid AND items.name = "CertExpDate_complex")  (Получаем ID элементов данных с нужным именем
inner JOIN history_text ON history_text.itemid=items.itemid order by clock DESC limit 500; (Получаем значения искомых элементов данных


5d121ad21b7c4776118071.png

В моем случаем не получается взять последнее значение каждого элемента данных по хосту, если я в конце запроса
поставлю limit 1 то результат будет урезан до вывода инфы по 1 хосту. А мне нужно LIMIT 1 применить к столбцу CLOCK, взять оттуда самое больше значение - 1 запись и применить на все остальные в соответствии хосты. Подскажите в каком направление вообще подобное будет правильно реализовать? Смотреть в сторону удаления дубликатов одинаковых строк по столбцам или есть всеже способ во время сборки запроса вписать параметр limit 1 для конкретного столбца?
  • Вопрос задан
  • 368 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 1
В Вашем случае надо смотреть в сторону max(history_text.clock) и использовать
group by hosts.name,hosts_groups.hostid,items.itemid,history_text.value
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы