Comment puis-je mettre à jour cela pour sélectionner tous les doublons? Actuellement, je pense que cela retarde simplement les adresses qui sont duplaciées. Je veux tous les doublons. P> p>
3 Réponses :
mysql> select * from flights;
+--------+-------------+
| source | destination |
+--------+-------------+
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
| 6 | 1 |
| 2 | 4 |
| 1 | 3 |
| 5 | 2 |
| 6 | 3 |
| 6 | 5 |
| 6 | 4 |
+--------+-------------+
10 rows in set (0.00 sec)
mysql> select * from flights where source in
(select source from flights group by source having count(*) > 1);
+--------+-------------+
| source | destination |
+--------+-------------+
| 1 | 2 |
| 5 | 6 |
| 6 | 1 |
| 1 | 3 |
| 5 | 2 |
| 6 | 3 |
| 6 | 5 |
| 6 | 4 |
+--------+-------------+
8 rows in set (0.00 sec)
Et s'il y avait dit 3 x adresses ... aurais-je revenu deux rangées? .. ou juste le premier duplicata?
Non, vous obtiendrez simplement une ligne retournée ... laissez-moi ajouter ce cas aussi dans la requête d'échantillon que j'ai écrite.
Je ne suis toujours pas sûr de ce dont vous avez besoin. Ce sera génial si vous pouvez ajouter une table d'échantillonnage et votre sortie souhaitée.
Ils l'ont ici ... mais il y a comme 5 réponses..qui?
Vous devez rejoindre un jointure intérieure ou quelque chose
Maintenant, je comprends ce dont vous avez besoin, donnez un min pour vérifier cela.
Laissez-nous Continuer cette discussion en chat
cherchez-vous cela?
Puisque vous regroupez par adresse, je pense que cela ne tirera qu'une seule rangée pour chaque adresse - au lieu de toutes les lignes pour l'adresse. Le (ID) code> Dans votre sous-sélection, je crois que c'est un indice qu'il y a plus d'une ligne de table agrégée dans chaque ligne de la sous-sélection.
@Kevinbedell, vous avez absolument raison, je pensais qu'un sous-sélection était nécessaire et je ne pensais tout simplement pas beaucoup quand je l'ai réellement écrit. Votre solution est la bonne.
Si je suis correct, vous recherchez les lignes réelles contenant des duplicats - de sorte que si vous avez trois lignes avec la même adresse, vous retournez les trois rangées.
Voici comment le faire: < / p> Ceci devrait généralement fonctionner, sauf si votre adresse est un champ "texte" ou si votre table d'adresses a plus de quelques milliers de doublons. P> P>
Dupliqué possible de Syntaxe MySQL Inner Se jointure
S'il y a 5 duplicats, il retournera une ligne pour chacun?
Même si ce n'est pas un double exact, cela demande à un sous-ensemble du problème posé par l'autre question: Joindre MySQL Inner Syntaxe .
Votre question n'est pas très claire. Quels «doublons» voulez-vous choisir? Vous recherchez des colonnes spécifiques à renvoyer? En outre, la définition de table / schéma peut être utile.
Non - il retournera une copie de l'adresse de chaque adresse dupliquée. Le groupe en s'assure que des valeurs similaires sont collectées ensemble; L'avoir veillé à ce que seules les adresses répétées sont répertoriées.