Comment trouver les doublons dans la Ruche?

Je veux trouver des lignes en double de celui de la table de la Ruche pour laquelle on m'a donné deux approches.

Première approche consiste à utiliser deux requêtes suivantes:

select count(*) from mytable; // this will give total row count 

deuxième requête est comme ci-dessous qui va donner le nombre de lignes distinctes

select count(distinct primary_key1, primary_key2) from mytable;

Avec cette approche, pour l'un de mes tableau total du nombre de lignes obtenues à l'aide de la première requête est 3500 et deuxième requête donne le nombre de lignes de 2700. Donc, il nous dit que 3500 - 2700 = 700 les lignes en double. Mais cette requête n'est pas de dire les lignes qui sont dupliqués.

Mon deuxième approche pour trouver des doublons est:

select primary_key1, primary_key2, count(*)
from mytable
group by primary_key1, primary_key2
having count(*) > 1;

Requête ci-dessus devrait liste de lignes qui sont dupliqués et combien de fois ligne particulière est dupliqué. mais cette requête indique zéro rangs ce qui signifie qu'il n'existe pas de lignes en double dans la table.

Donc je voudrais savoir:

  1. Si ma première approche est correcte - si oui, alors comment puis-je trouver les lignes qui sont dupliqués
  2. Pourquoi la deuxième approche ne fournit pas de liste de lignes qui sont dupliqués?
  3. Est-il un autre moyen de trouver les doublons?
  • Votre deuxième approche suggère qu'il y a pas de doublons. Je voudrais vérifier les deux clés de NULL valeurs (la plupart des bases de données ne permettent pas de NULL valeurs de clés primaires; peut-être la Ruche permet ce pour les clés composites).
  • Oui Ruche autorise les valeurs null pour les clés primaires. Elle affectera trouver les doublons?
  • . . le comptage semble être désactivé. J'ai confiance dans la seconde approche.
InformationsquelleAutor Shekhar | 2017-10-14