У меня есть таблица t_windows_updates, которая имеет два столбца ci_id и update_installed_on. Таблица будет иметь все обновления Windows произошло со всеми активами в моей среде. данных будет какПроверьте, является ли значение столбца метки времени более шести месяцев.
ci_id| update_installed_on
1 | 1452364200000
1 | 1453055400000
2 | 1441650600000
2 | 1441650600000
2 | 1441650600000
Я хочу, чтобы все ci_ids, для которых последнее изменение не произошло в течение последних шести месяцев.
Мой запрос является
SELECT t.ci_id FROM `t_windows_update` t
GROUP BY t.ci_id
HAVING MAX(t.update_installed_on)<= (NOW() - INTERVAL 6 MONTH);
Это работает, но получает неправильные результаты.
Я пытаюсь поставить разделенную запятую CI идентификаторов в столбец Я получаю сообщение об ошибке: Subquery возвращает более 1 строки UPDATE metrics SET id_list = (SELECT GROUP_CONCAT (DISTINCT t.ci_id SEPARATOR ',') FROM 't_windows_update' t GROUP BY t.ci_id HAVING MAX (t.update_installed_on)/1000 <= UNIX_TIMESTAMP (CURDATE() - INTERVAL 6 МЕСЯЦ)) – Jerry