Maison  >  Article  >  base de données  >  Explication détaillée de la façon d'utiliser distinct dans SQL

Explication détaillée de la façon d'utiliser distinct dans SQL

黄舟
黄舟original
2017-12-05 15:02:493215parcourir

Le mot-clé distinct est utilisé pour filtrer les enregistrements en double redondants et n'en conserver qu'un, mais il est souvent utilisé uniquement pour renvoyer le nombre d'enregistrements uniques au lieu de l'utiliser pour renvoyer toutes les valeurs des enregistrements uniques. La raison en est que distinct ne peut renvoyer que son champ cible, mais ne peut pas renvoyer d'autres champs. Ensuite, je partagerai avec vous l'utilisation de distinct en SQL à travers cet article. Les amis qui en ont besoin peuvent se référer à

Lorsque

utilisez mysql, il est parfois nécessaire de interroger pour trouver des enregistrements avec des champs uniques. Bien que mysql fournisse le mot-clé distinct pour filtrer les enregistrements en double redondants et n'en conserver qu'un seul, mais Il est souvent utilisé uniquement pour renvoyer le nombre d'enregistrements uniques, plutôt que de l'utiliser pour renvoyer toutes les valeurs des enregistrements non en double. La raison en est que distinct ne peut renvoyer que son champ cible, mais ne peut pas renvoyer d'autres champs. Ce problème me préoccupe depuis longtemps. S'il ne peut pas être résolu avec distinct, je ne peux le résoudre qu'avec une double boucle requête, et c'est pour un site avec une très grande quantité de données, cela affectera sans aucun doute directement l'efficacité, donc j'ai perdu beaucoup de temps. Le tableau peut contenir des valeurs en double. Ce n'est pas un problème, mais vous souhaiterez parfois lister uniquement des valeurs distinctes. Le mot-clé distinct est utilisé pour renvoyer des valeurs distinctes de manière unique.

Tableau A :

Exemple 1

Le code est le suivant :


Le résultat après exécution est le suivant :
select distinct name from A

Exemple 2

Le code est le suivant :

Exécution Le résultat final est le suivant :
select distinct name, id from A

est en fait basé sur

"nom+identifiant"

, et des actes distincts sur name et id, cette méthode est prise en charge à la fois par Access et SQL Server. Exemple 3 : Statistiques

Le code est le suivant :

Exemple 4

select count(distinct name) from A;    --表中name去重后的数目, SQL Server支持,而Access不支持
select count(distinct name, id) from A; --SQL Server和Access都不支持

Le code est le suivant :

Autres

select id, distinct name from A;   --会提示错误,因为distinct必须放在开头

Les champs affichés dans l'instruction select dans l'instruction distinct ne peuvent être que les champs spécifiés par distinct, et d'autres champs ne sont pas possibles. Par exemple, si le tableau A comporte une colonne "Remarques", si vous souhaitez obtenir le nom distinct et le champ "Remarques" correspondant, il est impossible de le faire directement via distinct.


Résumé :

Cet article utilise des exemples pour présenter en détail l'utilisation de distinct dans SQL Le plus intuitif. l'un est Tout le monde démontre l'utilisation de distinct. Je crois que chacun a sa propre compréhension et ses propres connaissances. J'espère que cela sera utile à votre travail !

Recommandations associées :


mysql compte des résultats statistiques distincts pour supprimer les doublons
Pensées causées par un problème distinct

Oracle—Utilisation de distinct

Utilisation de distinct en SQL (analyse de quatre exemples)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn