Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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: 380

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

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 567
Site web

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 smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB