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:
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
Dans ce code, je souhaite reprendre la valeur min_mesure du tableau à la place de ?

J'ai donc essayé ceci:
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 une erreur car min_mesure n'existe pas

J'ai donc écris ceci:
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
Et j'ai une nouvelle erreur lié à la fonction d'agrégation.

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