#1 Sun 12 January 2020 13:08
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Extraire minimum (group by)
Bonjour à tous,
Je dispose d'une base de donnée dont j'ai besoin d'extraire le minimum d'un champs. Cependant, je rencontre un problème de duplication des données.
J'écris cette formule :
Code:
select distinct a, b, min(c) from base_de_donnee group by a, b ORDER BY a
Je me retrouve avec ce résultat :
Code:
a b c 1 1165 1238 2 1165 1013 3 925 1191 3 1165 1230 4 1165 583 5 6128 3333 5 6130 3757
Nous voyons que 3 et 5 se repète. Je voudrais trouver un moyen de selectionner le même résultat, mais en prenant le minimum de 3 et 5 pour supprimer les doublons (j'ai cependant besoin de garder les colonnes a et b pour une future jointure). Ce qui donnerait ceci :
Code:
a b c 1 1165 1238 2 1165 1013 3 925 1191 4 1165 583 5 6128 3333
Malheureusement, je ne sais pas trop comment m'y prendre.
Merci.
Dernière modification par preliator (Sun 12 January 2020 13:09)
Hors ligne
#2 Sun 12 January 2020 16:57
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 427
Re: Extraire minimum (group by)
Bonjour,
Le problème vient de ton group by, car ça créer des groupes pour les valeurs uniques du groupe 'a et b'.
Code:
SELECT a, min(b), MIN(c) as c FROM tab group by a order by a;
donne le résultat souhaité dans ton exemple, mais comme on n'a pas tes données de base et qu'on ne sait pas exactement ce que tu veux faire difficile de te répondre précisément.
Voir http://sqlfiddle.com/#!17/4ea89/15 pour tester.
Hors ligne
#3 Mon 13 January 2020 10:21
Re: Extraire minimum (group by)
Bonjour,
Il n'y a pas réellement de doublon, puisque le couple b-c est chaque fois différent.
Peut-être cherchez vous, pour chaque minimum, les différentes valeurs de b ou de c qui lui correspondent :
Code:
a b_ou_c 1 1165 1 1238 2 1165 2 1013 3 925 3 1191 4 1165 4 583 5 6128 5 3333
Jean-Marie
Azimut
Hors ligne
#4 Mon 13 January 2020 10:33
- preliator
- Participant assidu
- Date d'inscription: 17 Nov 2018
- Messages: 433
Re: Extraire minimum (group by)
Un grand merci pour vos réponses, cela répond complètement à mon problème
Hors ligne