IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

select distinct sur 3 colonnes seulement


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Juillet 2006
    Messages : 232
    Points : 79
    Points
    79
    Par défaut select distinct sur 3 colonnes seulement
    Bonjour tout le Monde et bonne fêtes de fin d'année à toutes et à tous,

    Voici mon problème:

    J'ai une table t avec plusieurs millions d'enregistrements et avec les champs suivants:

    c1,c2,c3 et c4

    Je veux faire un select distinct sur cette table pour avoir toutes les lignes avec c1,c2,c3 unique et afficher quand même c4.

    or si j'émets la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT C1,C2,C3,C4 FROM t
    j'obtiens naturellement une liste où les occurrences C1,C2,C3,C4 ne se repètent pas, tandis que je veux que se soit C1,C2,C3 qui ne se repètent pas,
    en d'autres termes je veux avoir le résultat de la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT C1,C2,C3 FROM t
    auquel je rajoute à chaque fois la colonne c4, mais en une seule commande. Est ce possible?

    Merci infiniment.

  2. #2
    Membre averti Avatar de hariman
    Homme Profil pro
    Développeur Java, Android
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Développeur Java, Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 413
    Points
    413
    Par défaut
    Bonjour,

    Utilise plutôt GROUP BY

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2006
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Juillet 2006
    Messages : 232
    Points : 79
    Points
    79
    Par défaut
    Vous voudrez dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT C1,C2,C3,C4 FROM t GROUP BY (C1,C2,C3)
    ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    non il veut dire lisez ceci : http://sqlpro.developpez.com/cours/sqlaz/ensembles/

    Ensuite déterminez la fonction d'agrégation qu'il vous faut pour la colonne C4 (min ou max en l'occurence) et vous aurez votre requête

Discussions similaires

  1. select distinct sur le premier champ d'une table
    Par alexkickstand dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 28/08/2008, 16h03
  2. Select Distinct sur premier argument
    Par Tintou dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 16/04/2008, 10h07
  3. select distinct sur 2 champs
    Par alexkickstand dans le forum Langage SQL
    Réponses: 7
    Dernier message: 09/07/2007, 18h19
  4. Réponses: 2
    Dernier message: 07/10/2006, 19h46
  5. Select distinct sur varchar
    Par SILO dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 02/10/2005, 00h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo