Maison > base de données > tutoriel mysql > le corps du texte

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

黄舟
Libérer: 2017-12-05 15:02:49
original
3223 Les gens l'ont consulté

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
Copier après la connexion

Exemple 2

Le code est le suivant :

Exécution Le résultat final est le suivant :
select distinct name, id from A
Copier après la connexion

est en fait basé sur

"nom+identifiant"

, et des actes distincts sur name et id< Sur 🎜>, 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都不支持
Copier après la connexion

Le code est le suivant :

Autres

select id, distinct name from A;   --会提示错误,因为distinct必须放在开头
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!