Je suis aux prises avec la façon dont je pourrais utiliser les fonctions d'agrégat SQL et le regroupement pour trouver le bon enregistrement dans ma table. Voici un exemple simplifié. Je veux grouper par B et trouver l'enregistrement avec la valeur minimum de C. Mon problème étant que je dois soit inclure A dans le groupement ou appliquer une fonction agrégée à A, dont aucune ne semble appropriée.Regroupement par une colonne et recherche d'un minimum d'un autre
A | B | C
7 | 2 | 1
4 | 2 | 2
Ce sont des versions simplifiées des deux requêtes que j'ai essayées.
select A, B, min(c)
from @Table1
group by B, A
select min(a), B, min(c)
from @Table1
group by B
La requête devrait retourner ceci:
A | B | C
7 | 2 | 1
Et idéalement un seul enregistrement pour plusieurs valeurs de C.
select max (a), min (b), min (c) du tableau – Chanukya
quelle est la sortie désirée dont vous avez besoin, dans cet exemple. –
Peut-il y avoir des liens, c'est-à-dire deux enregistrements avec le même B et C? Est-ce que vous parlez de "Et idéalement, un seul enregistrement pour plusieurs valeurs de C"? Ou voulez-vous dire autre chose? –