diff --git a/surveillance/deconnexion.py b/surveillance/deconnexion.py index 142e0667..82a94aea 100755 --- a/surveillance/deconnexion.py +++ b/surveillance/deconnexion.py @@ -20,6 +20,7 @@ from time import * from gestion.config import NETs, plage_ens, prefix from gestion.config import upload as upload +import gestion.config.encoding import gestion.config.mails.upload as mails_upload from gestion.ldap_crans import crans_ldap from gestion.ldap_crans import MachineFixe @@ -79,8 +80,17 @@ def reperage_chambre(mac): ################################################################################ # upload par entité (adhérent/club/machine crans) -requete="""SELECT - SUM(agregat.total) as tot_upload, machines.type, machines.id +requete="""WITH + machines_sans_doublon +AS + ( + SELECT DISTINCT ON(mac_addr) + * + FROM + machines + ) +SELECT + SUM(agregat.total) as tot_upload, machines_sans_doublon.type, machines_sans_doublon.id FROM ( SELECT 'upload', sum(bytes)/1024/1024 AS total, mac_src @@ -109,11 +119,11 @@ FROM ( mac_src ) AS agregat INNER JOIN - machines + machines_sans_doublon ON - machines.mac_addr = agregat.mac_src + machines_sans_doublon.mac_addr = agregat.mac_src GROUP BY - machines.type, machines.id + machines_sans_doublon.type, machines_sans_doublon.id ORDER BY tot_upload; """