2010-08-07 40 views
0

J'ai une feuille de calcul Excel avec 15 colonnes, dont l'un EmailAddress puis 100.000+ records ..Comment extraire une liste distincte des enregistrements de SQL ou Excel

Dans mes données, je sais qu'il ya beaucoup de double adresses mail.

Quelqu'un peut-il me dire comment puis-je extraire une liste distincte où chaque enregistrement est représenté qu'une seule fois par emailaddress?

Alternativement, si j'importer les données dans SQL, comment puis-je supprimer les enregistrements qui sont dupliquées par emailaddress mais laissent un enregistrement si 4 se trouvent ...

Thx ..

+0

Voulez-vous simplement conserver l'enregistrement avec la première occurrence de l'adresse et supprimer tous les autres enregistrements avec cette adresse e-mail? , ou est-ce plus compliqué? Quelle version d'Excel utilisez-vous? –

Répondre

1

Dans les tâches plus simples que je suggérerait l'utilisation de openrowset. Bien sûr, vous pouvez combiner cela avec d'autres requêtes suivantes, pour faire le filtrage, mais dans ce cas, il serait bon d'utiliser DTS pour MSSQL2000 et SSIS pour les versions ultérieures.

Comment?
la question est complexe, et a 2 sous-questions qui doivent avoir été répondu précédemment.

  1. How to remove duplicates
  2. Excel and SQL

et vous pouvez en savoir plus sur SSIS https://stackoverflow.com/search?q=SSIS+Excel

0

Voir le lien sur la façon de supprimer les doublons dans la réponse d'Alexandre, pour y faire face dans SQL. (Notez que la réponse liée est spécifique à SQLServer - la syntaxe est susceptible d'être légèrement différente si vous utilisez d'autres versions de SQL.)

Pour Excel, je suggère soit:

  1. l'aide d'un tableau croisé dynamique ou
  2. Trier sur EmailAddress, insérer une colonne supplémentaire peuplée avec des formules semblables à:

    =IF(A1=A2,"","X") 
    

    [- ligne 2, en supposant que EmailAddress est dans la colonne A; copier et coller pour le reste de la colonne] et utiliser l'autofiltre pour sélectionner les valeurs calculées de X.