Bonjour,
Je cherche a obtenir dans le même tableau le MIN(condition), le MAX(condition) puis ensuite d'obtenir le nombre de fois qu'une valeur est inférieur au min avant:
Exemple:
Dans ce code, je souhaite reprendre la valeur min_mesure du tableau à la place de ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT article, MIN(CASE WHEN jugement= 1 THEN mesure END) AS min_mesure, MAX(CASE WHEN jugement= 1 THEN mesure END) AS max_mesure, COUNT(CASE WHEN mesure1<? THEN 1 END) AS nb_mesure FROM mesure_table GROUP BY article
J'ai donc essayé ceci:
J'ai une erreur car min_mesure n'existe pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT article, MIN(CASE WHEN jugement= 1 THEN mesure END) AS min_mesure, MAX(CASE WHEN jugement= 1 THEN mesure END) AS max_mesure, COUNT(CASE WHEN mesure1<min_mesure THEN 1 END) AS nb_mesure FROM mesure GROUP BY article
J'ai donc écris ceci:
Et j'ai une nouvelle erreur lié à la fonction d'agrégation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT article, MIN(CASE WHEN jugement= 1 THEN mesure END) AS min_mesure, MAX(CASE WHEN jugement= 1 THEN mesure END) AS max_mesure, COUNT(CASE WHEN mesure1<MIN(CASE WHEN jugement= 1 THEN mesure END) THEN 1 END) AS nb_mesure FROM mesure GROUP BY article
J'aimerais compter le nombre de mesures en fonction de l'agrégation min(condition)
Pour le moment, n'ayant pas de solution, j'ai écris un seconde requete avec count(condition) conditionner dans la boucle de la première. Le problème est que le résultat est très très long.
Je pense qu'il y a une solution pour tout inclure dans le même tableau
Merci pour votre aide
Partager