Bloqué sur le calcul du ratio de ma requête SQL
Résolu
Bonjour,
Svp Jai besoin d'aide
Comment calculer ce ratio ( lb / Total ) sur SQL dans un SELECT dans ce exemple ?
a lb Total Ratio
6 2 8 0,25
3 1 4 0,25
1 2 3 0,666666667
Voila ce que Jai essaye sans succès :
SELECT
a,
lb,
Total,
SUM (lb ) / (SELECT SUM (Total ) as R
FROM [X ]
;
Avec ou sans crochet sur le nom de la table j ai ce message d'erreur :
SQL Error [102] [S0001]: Incorrect syntax near ';'. Pourtant le nom de la table est correct.
Jai aussi essaye la syntaxe sans SUM mais le même message d'erreur apparait.
Merci de m'aider
Svp Jai besoin d'aide
Comment calculer ce ratio ( lb / Total ) sur SQL dans un SELECT dans ce exemple ?
a lb Total Ratio
6 2 8 0,25
3 1 4 0,25
1 2 3 0,666666667
Voila ce que Jai essaye sans succès :
SELECT
a,
lb,
Total,
SUM (lb ) / (SELECT SUM (Total ) as R
FROM [X ]
;
Avec ou sans crochet sur le nom de la table j ai ce message d'erreur :
SQL Error [102] [S0001]: Incorrect syntax near ';'. Pourtant le nom de la table est correct.
Jai aussi essaye la syntaxe sans SUM mais le même message d'erreur apparait.
Merci de m'aider
5 réponses
-
Contributeur Ambassadeurbonjour,
peux-tu montrer une requête simple qui fonctionne?
peux-tu montrer la requête sans SUM?-
-
Contributeur Ambassadeur@besoindaidepeux-tu montrer la requête sans SUM?
as-tu essayéSELECT a, lb, Total, lb / Total as R FROM [X ]
-
-
ModérateurBonjour,
Tu n'as pas expliqué grand chose sur les données et les composants.
Avec un SUM() tu devrais avoir un GROUP BY. Pourquoi pas :
select a, sum(lb), sum(total), sum(lb)/sum(total) from table group by a
-
-
Modérateur@besoindaidegénéralement le WHERE précède le GROUP BY
et avec le GROUP BY A on ne peut pas avoir lb mais SUM(lb)
-
-
ModérateurBonjour
Ta colonne total existe déjà dans ta table ou tu dois la calculer via a+lb ?
Je pense que ce que tu cherches est un truc du genreSELECT a, lb, a+lb as Total, lb/(a+lb) as ratio FROM [X ]
-
Merci encore une fois mais ca ne fonctionne toujours pas malgré la correction
-
ModérateurÇa ne marche pas.... C'est-à-dire ???
Il serait bien de répondre à nos questions et de nous indiquer en détail en quoi cela ne fonctionne pas.
Tu as un message d'erreur ?
Où le résultat obtenu ne te semble pas correct ? Et dans ce cas.. qu'as-tu obtenu et en quoi cela n'est-il pas bon ?
As-tu bien réécris la requête telle que je te l'ai donné où y as tu ajoute des éléments ? -
@jordane45effectivement jai un message derreur :
SQL Error [156] [S0001]: Incorrect syntax near the keyword 'null'.
SELECT
a,
Sum (lb),
sum(lb), sum(total), sum(lb)/sum(total) as R
FROM [X ]
where date not null
Group by a
; -
Modérateur@besoindaideEn même temps, ce n'est pas du tout celle que je t'ai donné
Ensuite regarde la documentation de SQL server concernant la comparaison avec la valeur NULL -
Modérateur@besoindaidedans sql server la syntaxe c'est
where date is not null
-
-
-
Jordane45
Jai supprime ma colonne Total et utilise ta méthode cela fonctionne a présent. Merci beaucoup