Bonjour,

J'ai besoin de faire un calculde pourcentage et en lisant ceci, j'ai bien compris que c'était faisable.

Sur une requête avec totalisation comme celle-ci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SELECT t_users_dossiers.id_user AS 'User', count( t_users_dossiers.id_user ) AS "Nombre de dossiers"
FROM t_users_dossiers
GROUP BY t_users_dossiers.id_user
UNION ALL
SELECT 'Total' AS 'User', count( t_users_dossiers.id_user ) AS "Nombre de dossiers"
FROM t_users_dossiers
Je veux rajouter une colonne qui calculerait le % de dossier d'un user par rapport au total.

J'ai donc fait quelque chose comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
SELECT t_users_dossiers.id_user AS 'User', count( t_users_dossiers.id_user ) AS 'Nombre de dossiers', CAST(count('Nombre de dossiers') AS FLOAT ) / 
        CAST(SUM('Nombre de dossiers')) * 100 
        	AS 'Taux',
FROM t_users_dossiers
GROUP BY t_users_dossiers.id_user
UNION ALL
SELECT 'Total' AS 'User', count( t_users_dossiers.id_user ) AS 'Nombre de dossiers',''
FROM t_users_dossiers
Mais il est faché avec "l'injure" suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
the right syntax to use near 'FLOAT ) /
        CAST(SUM('Nombre de dossiers')) * 100
Ai-je bien la possibilité de faire un calcul de % sur une requête avec un UNION ?

Merci d'avance