SQL WHERE SUM(value) from table where value is distinct?

SQL WHERE SUM(value) from table where value is distinct?

我知道标题很奇怪,但我真的不知道如何解释我的问题。 我的申请有问题,我必须更改此请求。

    SELECT DISTINCT utilisateurs.id, nom, prenom, SUM(pointages.nombre) as heuresConsommees
                        FROM utilisateurs
                        INNER JOIN pointages on pointages.cp = utilisateurs.cp                      
                        WHERE pointages.idPrestation = %d
                        AND pointages.id_affaire = %d
                        AND utilisateurs.id = %d
                        GROUP BY utilisateurs.nom,prenom, utilisateurs.id

我的问题是,值 pointages.nombre 可以在数据库中插入两次,用于相同的事务、日期和星期。 我无法在不修改我的应用程序的所有体系结构的情况下修改允许此双重插入的请求,所以我想知道这是否可以 select 值 pointages.nombre 的总和但不采取这是第二次。可能有一个独特的但我不知道在这种情况下该怎么做。 提前致谢。

从内部查询中删除了分组依据并使用内部查询来获取不同的行

试试这个:-

SELECT id, num,prenom,SUM(nombre) as heuresConsommees
from
( 
SELECT DISTINCT utilisateurs.id, nom, prenom, pointages.nombre
                        FROM utilisateurs
                        INNER JOIN pointages on pointages.cp = utilisateurs.cp                      
                        WHERE pointages.idPrestation = %d
                        AND pointages.id_affaire = %d
                        AND utilisateurs.id = %d
) a
Group by id, num,prenom;