Comment puis-je supprimer tous les doublons dans une table MySQL sans tables temporaires

J'ai vu un certain nombre de variations de cette, mais rien ne correspond à ce que je suis en train d'accomplir.

J'ai une table, TableA, qui contiennent les réponses données par les utilisateurs configurables questionnaires. Les colonnes sont member_id, quiz_num, question_num, answer_num.

En quelque sorte un peu de membres ont obtenu leurs réponses à deux reprises. J'ai donc besoin de supprimer la copie des enregistrements, mais assurez-vous qu'une ligne est laissé derrière.

Il n'y a pas de primaire colonne il pourrait donc y avoir deux ou trois rangées de tous avec exactement les mêmes données.

Est-il une requête pour supprimer tous les doublons?

  • Est-il une raison pour laquelle vous êtes à l'encontre de la création d'une table temporaire qui peut être retiré avec une simple instruction drop table après les doublons ont été supprimés? Je pourrais vous fournir SQL pour créer une table temporaire avec uniquement les enregistrements uniques, supprimer des enregistrements de la table d'origine, la charge unique de données puis déposez la table temp. Si ce n'est pas une énorme base de données, que cela ne devrait pas prendre trop longtemps. Voici un bon article sur le processus: databasejournal.com/features/mysql/article.php/10897_2201621_2/...
  • double possible de Comment supprimer des enregistrements en double dans la base de données mysql?
  • Je suis à la recherche d'une solution qui est facile (dans le sens le plus large du mot) répétable à la volée. À l'aide de tables supplémentaires, temp ou pas, les moyens à faire tomber le site de tout temps, ce qui est détecté. La meilleure solution serait de faire en sorte qu'il n'arrive jamais à la première place, mais jusqu'alors, je veux que cette vérification/correction à faire sur une base régulière pour s'assurer que les rapports ne donnent pas chancelant résultats
  • Comme je l'ai mentionné dans ma réponse de créer un index sur votre table, Il va supprimer les doublons de données, et vous permet pas d'ajouter des données en double dans l'avenir
  • Double Possible de Supprimer les lignes en double dans MySQL
InformationsquelleAutor MivaScott | 2012-12-26