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

Langage SQL Discussion :

Distinct - éliminer les doublons


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut Distinct - éliminer les doublons
    Bonjour

    Je cherche a savoire comment éliminer les doublons dans ma table de donnée

    J'ais bien trouvé comment trier les entrées dans ma table pour n'afficher que les entrées uniques, m'ais j'aimerai supprimer les autre et la je ne vois pas comment

    je pensais dabor trier ma table avec un DISTINCT ,

    puis insérer mes résultats dans une variable

    comparer avec toute les données de ma table pour récupérer les entrées ne ce trouvents pas dans ma première variable

    et finir par supprimer les entrés qui ce trouvent dans ma 2eme variable

    Peut être que ma logic n'est pas bonne je ne ses pas

    Voici la forme de Ma Table et des données (villes)
    ----------------------------------------
    id nom CP département
    1 AUBENAS 07200 07
    2 VOGUE 07200 07
    3 AUBENAS 07200 07
    -----------------------------------------

    Ma requette
    $doublons2 = mysql_query ( " SELECT DISTINCT CP,nom FROM villes " );

    ci quelqu'un pouvait m'aider, merci d'avence

  2. #2
    Expert confirmé
    Homme Profil pro
    Big Data / Freelance EURL
    Inscrit en
    Mars 2003
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Big Data / Freelance EURL

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 124
    Par défaut
    C'est confus comme question. Comment choisi-t-ton le nom de ville pour le même code postal ? On en prends une hasard ?

    D'autre part la solution proposé avec des variables etc... c'est du langage procédural (php dans ton cas) et n'a rien avoir avec une solution ensembliste comme l'est le langage SQL.

    Normalement tout ce que tu demandes peut être fait en SQL standard sans php.

  3. #3
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    en supposant que tu gardes la pemière occurence de chaque ville
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    delete from villes as v
    where not exists
      ( select 1
        from villes as d
        where v.cp = d.cp
          and v.nom = d.nom
          and v.dpt = d.dpt
        having v.id = min(d.id)
      )
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 22
    Par défaut
    Bonjour

    Merci pour vos réponses. C'est sur qu'une seulr requette en SQL serai l'idéale.
    Mais je suis nule en SQL dailleur je ne comprend pas tout sur la raque que me suggere 'al1_24'.

    si une bonne hamme pouvait m'éclairer

  5. #5
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut Elimination des doublons d'une table
    delete from NOMTABLE where rowid not in (
    select min(rowid) from NOMTABLE
    group by(//là tu mets les champs clé de ta table)
    having count(*)>=2
    )

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    rowid n'existe pas en SQL. C'est une spécificité Oracle qui contrevient aux fondement même des SGBDR !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Éliminer les doublons
    Par Dohmaker dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/02/2008, 23h49
  2. comment éliminer les doublons
    Par fk04 dans le forum Requêtes
    Réponses: 1
    Dernier message: 09/08/2006, 17h22
  3. Éliminer les doublons d'une BDD MySQL
    Par sansouna24 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/05/2006, 11h26
  4. Réponses: 2
    Dernier message: 12/05/2006, 08h35
  5. [sql] [oracle] éliminer les doublons dans sum ?
    Par trungsi dans le forum Langage SQL
    Réponses: 14
    Dernier message: 04/03/2005, 12h29

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