Select distinct

Eléphant du PHP | 191 Messages

24 août 2005, 10:34

Salut
dans le but de créer une table temporaire avec l'ensemble des donnée de ma table initiale, il me faudrai supprimmer les doublons mais sur certain champs de ma première table ...

Comment procéder

Merci :wink:
tu as la splendeur d'un enterrement de première class e

Eléphant du PHP | 199 Messages

24 août 2005, 11:12

Il faudrait que tu donnes plus de détails sur ta requete pour que l'on puisse t'aider et te proposer une solution.
Les 2 font la paire : coder ET commenter :wink:

Eléphant du PHP | 191 Messages

24 août 2005, 11:16

il me faudrai faire un select * d'abord puis eliminer les doublons sur trois champs de cette même table :oops:

puis cette table sera sauvegarder dans une table temporaire puis réinjeté dans la table initiale
tu as la splendeur d'un enterrement de première class e

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

24 août 2005, 12:22

et le distinct ne fonctionne pas ?

Tu peux mettre tes requêtes en modifiant les vrais noms de champs et les variables :)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
ViPHP | 1380 Messages

24 août 2005, 13:33

Salut
dans le but de créer une table temporaire avec l'ensemble des donnée de ma table initiale, il me faudrai supprimmer les doublons mais sur certain champs de ma première table ...

Comment procéder

Merci :wink:
La méthode la plus simple pour supprimer des doublons est de créer un index composite unique, sur les colonnes dont tu veux éviter les doublons.

Exemple: dans ta table ma_table tu veux supprimer toutes les lignes qui présentent les même valeurs pour les colonnes 1, 3 et 5.

Code : Tout sélectionner

#création de l'index unique (IGNORE, pour ignorer les erreurs, est indispensable) ALTER IGNORE TABLE ma_table ADD UNIQUE mon_index (col1, col3, col5) # supression de l'index si superflu ALTER TABLE ma_table DROP INDEX mon_index
Pas besoin de table temporaire. Mysql fait le travail tout seul mais attention, pas de retour en arrière possible! Songe à faire une copie avant.
ripat

Eléphant du PHP | 191 Messages

24 août 2005, 13:49

Je vais essayé ça........

et pour la sauvegarde.....tu fais comment?
tu as la splendeur d'un enterrement de première class e

ViPHP
ViPHP | 1380 Messages

24 août 2005, 14:30

et pour la sauvegarde.....tu fais comment?
Plusieurs manières de faire. La plus simple:

Code : Tout sélectionner

CREATE TABLE table_backup SELECT * FROM ta_table
ripat