voici une requête qui remonte les postes en doubon sur un parc :
Code : Tout sélectionner
SELECT count(hosts.computer_name) AS count_double,hosts.computer_name
from hosts
group by hosts.computer_name
having count(hosts.computer_name) > 1Code : Tout sélectionner
SELECT count(hosts.computer_name) AS count_double,hosts.computer_name
from hosts
group by hosts.computer_name
having count(hosts.computer_name) > 1Code : Tout sélectionner
SELECT h.uuid, h.computer_name
FROM hosts h
JOIN (
SELECT computer_name
FROM hosts
GROUP BY computer_name
HAVING COUNT(computer_name) > 1
) dup ON h.computer_name = dup.computer_name
ORDER BY h.uuid;Code : Tout sélectionner
WITH x AS (
SELECT
uuid,
computer_name,
last_seen_on,
COUNT(*) OVER (PARTITION BY computer_name) AS cnt,
MAX(last_seen_on) OVER (PARTITION BY computer_name) AS last_seen_max
FROM hosts
)
SELECT uuid, computer_name, last_seen_on
FROM x
WHERE cnt > 1
AND last_seen_on < last_seen_max
ORDER BY computer_name, last_seen_on;