Vous n'êtes pas identifié(e).
Pages : 1
Super tout marche très bien maintenant!
Merci !
Bonjour à tous,
Une solution m'a été proposé :
CREATE AGGREGATE mmul(int4)
(
sfunc = int4mul,
stype = int4
);
Le problème est que la fonction utilisée n'est opérationnelle que sur des nombres entiers. Existe t'il une fonction similaire permettant l'utilisation de nombres réels?
Bonjour,
Existe-t-il dans postgresql une fonction d'agrégat permettant de faire un produit des valeurs d'un champ dans une table, un peu de la même manière que Sum permet de faire une somme?
Une fonction du genre: "select prod(champ_nb) from T group by champ_x"
avec comme résultat le produit des valeurs de champ_nb. Exemple
Code :
champ_x | champ_nb
A 2
A 5
A 4
A 3
B 2
B 6
B 2
Résultat:
A 120 (2*5*4*3)
B 24 (2*6*2)
Une solution est possible en passant par l'exponentielle de la somme des logarithmes des enregistrements "exp(sum(ln(x)))". Mais cette opération n'est pas vraiment satisfaisante dans les cas ou certains enregistrements ont une valeur nulle et renvoie donc systématiquement une erreur.
Bien cordialement.
Pages : 1