Maison > Article > base de données > Comment obtenir des données uniques dans MySQL ?
Dans MySQL, vous pouvez ajouter le mot-clé distinct dans l'instruction de requête pour filtrer les enregistrements en double et obtenir des données uniques ; la syntaxe est "sélectionner un nom de champ distinct dans la table de données ;".
Méthode MySQL pour obtenir des données uniques :
Ajoutez le mot-clé distinct dans l'instruction de requête pour filtrer les enregistrements en double
Syntaxe :
select distinct 字段名 from 数据表;
Le rôle de distinct
Dans MySQL, la fonction principale du mot-clé distinct est de modifier une ou plusieurs tables de la base de données Filtrez les données en double dans plusieurs champs et ne renvoyez qu'une seule donnée à l'utilisateur. Distinct ne peut être utilisé qu'en sélection. Le principe principal est de regrouper d'abord les données à dédupliquer, puis de renvoyer une donnée de chaque groupe groupé. le client. Deux situations différentes peuvent se produire lors de ce processus de regroupement :
Distincter tous les champs dépendants incluent des index :
Dans ce cas, mysql regroupe directement les données qui répondent aux conditions en exploitant l'index, puis supprime une donnée de chaque donnée groupée.
Les champs distincts qui dépendent de ne contiennent pas tous des index :
Dans ce cas, l'index ne peut pas satisfaire l'ensemble du processus de déduplication et de regroupement, il faut donc une table temporaire à utiliser. MySQL doit d'abord placer les données qui remplissent les conditions dans une table temporaire, puis regrouper cette partie des données dans la table temporaire, puis supprimer une partie des données de chaque donnée regroupée dans la table temporaire. processus dans la table temporaire, aucune donnée ne sera ajoutée. Les données sont triées.
select distinct expression[,expression...] from tables [where conditions];
La principale chose à laquelle il faut prêter attention lors de l'utilisation de distinct est Voici quelques points :
Lors de la déduplication des champs, assurez-vous que distinct est au début de tous les champs
La structure de la table de base de données et les données sont présentées dans la figure ci-dessous :
select distinct age from user;Résultats de la requête
age 10 20 30Déduplication SQL pour plusieurs champs :
select distinct name,age from user;Résultats de la requête
nameage One10 Zero20 Two20 Four30 One30
select count(distinct name,age) as total from user;
Résultats de la requête
total 5Dédupliquer la sélection *
select distinct * from user;
Puisque * représente tous les champs, ce SQL a la même sémantique que la sélection d'un identifiant, d'un nom, d'un âge et d'un signe distincts de l'utilisateur
Résultats de la requête : id name age sign
1 One 10 梦想要有的,万一实现了呢
2 Zero 20 http://www.chaoshizhushou.com
3 Two 20 OneZeroTwoFour
4 Four 30 加油
5 One 30 学习才是硬道理
6 Four 30 一日三省吾身
Tutoriel recommandé :
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!