Maison >base de données >tutoriel mysql >instruction de sélection
1. order by (tri)
utilise généralement un champ comme norme de référence pour le tri.
Syntaxe : order by [field] asc|desc; (ordre croissant, ordre décroissant)
astuce : les règles de relecture déterminent la relation de tri.
Permet le tri multi-champs (trier d'abord par le premier champ, et lorsqu'il est impossible de le distinguer, trier par le deuxième champ, et ainsi de suite).
【Par exemple】 Pour le tableau suivant, lorsque vous saisissez select * from tb_name;, les données du tableau seront affichées dans l'ordre selon l'ordre de saisie :
Quand vous devez triez les données du tableau par ordre décroissant selon le champ stu_score, ajoutez order by stu_score desc après l'instruction d'entrée :
Si vous utilisez plusieurs champs pour trier, le PAR EXEMPLE. Suivez d'abord le stu_score pour le tri. Pour :
sélectionnez * from tb_nameorder by stu_score desc, date_begin, asc;
astuce : order by consiste à trier les informations récupérées, elles doivent donc être écrites après l'instruction Where.
S'il s'agit d'un regroupement, vous devez utiliser la syntaxe group by pour trier le champ groupé.
2. limite (limiter le nombre d'enregistrements obtenus)
la limite se produit après le tri, la récupération et d'autres
actions, donc la limite apparaît au fin. Pour le tableau de données suivant, si une seule des données est affichée, le résultat de sortie sera celui indiqué à droite : Dans l'ordre de saisie initiale des données, le premier ensemble de données est pris pour la sortie.
Vous pouvez également limiter la sortie aux 3 premiers après le tri :
Syntaxe : limiter le nombre total d'enregistrements décalés
; Offset : point de départ de l'interception. Nombre total d'enregistrements : longueur interceptée.Si le décalage n'est pas écrit, il repartira de 0 par défaut.
3.distinct
(supprimer les enregistrements en double) (correspondant àtous
)Une fois dans la table exam_stu, afficher tous dans le champ stu_score Le le résultat est le suivant :
Si vous souhaitez supprimer les enregistrements en double, vous pouvez utiliser l'instruction suivante, il ne reste donc qu'un seul des deux 95 points :
La norme pour les enregistrements en double est déterminée en fonction des champs de requête Lorsque l'instruction est select distincte *, uniquement lorsque tous les champs sont identiques, deux enregistrements. sont considérés comme des données en double ; Lorsque l'instruction est select distinct stu_score, lorsque les stu_score des deux données sont identiques, elles sont considérées comme répétées
Lorsque l'instruction est select distinct stu_score ; ,stu_name, les scores doivent être des sommes. Les noms sont les mêmes, ils sont donc considérés comme des doublons.
4.
requête syndicale(
requête syndicale)
La fusion de plusieurs instructions select est appelée une opération conjointe.
Utilisez le mot-clé union pour combiner deux instructions select.
[Par exemple] Pour interroger les deux enseignants qui ont enseigné les cours php0228 et php0331 le plus de jours dans le tableau, l'énoncé est
Du professeur_ Classe Où nom_classe = 'PHP0228' Trier par jours Desc Limit 1; Select Teacher_name s_name = 'PHP0331' Trier par jours Desc Limit 1
Ces deux instructions distinctes peuvent en effet trouver les résultats souhaités, mais qu'en est-il ? faire une requête commune ?
L'instruction est : (instruction 1) union (instruction 2); , le format suivant peut être utilisé : (instruction 1) union all (instruction 2)
astuce : lors de l'utilisation de union ; , il y a plusieurs points à prendre en compte lors du tri.
① Enveloppez la sous-déclaration entre sous-crochets
② L'ordre par de la sous-déclaration ; ne peut être utilisé qu’avec une limite qui prendra effet. La raison est la suivante : l'Union optimisera (ignorera) l'ordre des phrases sans limite.
Si vous souhaitez trier les résultats de l'union relative, utilisez l'instruction suivante : (Déclaration 1) union (Déclaration 2) par jours
Remarque : ① Instructions de sélection multiples Le nombre de champs récupérés doit être cohérent ; plus strictement, le
type de donnéesdoit également être cohérent (mais
mysqlfera la
conversion de typeen interne, ce qui nécessite j'espère que la conversion pourra réussir).
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!