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

MySQL résume et regroupe les données

大家讲道理
Libérer: 2017-08-19 10:42:18
original
1581 Les gens l'ont consulté

Un résumé et un regroupement de données

Instruction de requête ---> Ensemble de résultats (plusieurs éléments de données) ---> -- -> Enregistrement sur une seule ligne

1. Fonctions d'agrégation couramment utilisées :

sum() Nombres Nombres                              Faites la moyenne de toutes les valeurs non nulles dans la colonne spécifiée

min() Nombres, caractères, datetime Renvoie le plus petit nombre, la date la plus ancienne ou la plus petite chaîne de la colonne spécifiée

max() Nombres, caractères, datetime Renvoie le plus grand nombre de la colonne spécifiée, la date la plus récente ou la le plus grand jeu de caractères

count() Tout type de données basé sur les lignes Compte le nombre de toutes les lignes d'enregistrement dans le jeu de résultats

Exemple : requête d'informations sur le nombre de joueurs présents sont dans la table des joueurs

select count (user_qq) from users

select count(*) from user

Exemple : Interrogez le score total du joueur dont le numéro QQ est 12301

sélectionnez la somme (score) comme « score total » à partir des scores où user_qq='12301'

Exemple : la requête sur le numéro QQ est 12302 Scores d'évaluation du joueur

sélectionnez la moyenne (score) comme « score moyen » à partir des scores où user_qq='12302'

Exemple : recherchez le score le plus élevé du jeu numéro 1

sélectionnez max(score) comme « score maximum » à partir du score où gno=1

Exemple : recherchez le score total, le score moyen et le score maximum du joueur dont le numéro QQ est 12302

sélectionnez sum( score) comme 'score total', avg(score ) comme « score moyen », max(score) comme « score le plus élevé » à partir des scores où user_qq ='12302'

2. Utilisez GROUP BY group

Exemple : Interrogez le score total, le score moyen, le score le plus élevé de chaque joueur

sélectionnez sum(score) comme « score total », avg(score) comme « score moyen », max(score) comme « score le plus élevé » de groupe de scores par user_qq

Exemple : recherchez le score moyen de chaque joueur et affichez le numéro QQ et le score moyen du joueur

sélectionnez user_qq, avg(score) comme « score moyen » du groupe de scores by user_qq

3. Filtrer les résultats du groupe

Lorsque vous utilisez la clause GROUP BY, vous pouvez utiliser la clause HAVING pour les statistiques de groupe. Définissez davantage les conditions statistiques, la relation entre la clause HAVING et la clause GROUP BY sont équivalentes à la relation entre la clause WHERE et la clause SELECT

La différence avec la clause WHERE est que dans la clause HAVING elle est agrégée Les résultats statistiques de la fonction sont filtrés conditions.

Exemple : interrogez le numéro QQ, le score total, le score moyen des joueurs dont le score moyen est supérieur à 4000

sélectionnez user_qq, sum(score) comme 'score total', avg(score) comme 'score moyen'' du groupe de scores par user_qq ayant avg(score) > 4000

Exemple : recherchez le score moyen et le score total de tous les utilisateurs, et triez-les dans l'ordre inverse selon le score moyen

sélectionnez user_qq,avg(score) comme « score moyen », sun(score) comme « score total » à partir du groupe de scores par user_qq orde par avg(score) desc

4. Ordre d'exécution de l'instruction SELECT

La clause from spécifie la source de données

La clause Where filtre les enregistrements en fonction des conditions spécifiées

La clause group by divise les données en plusieurs groups

Utilisez les fonctions d'agrégation pour calculer

Utilisez la clause have pour filtrer les regroupements

Utilisez la clause order by pour trier l'ensemble de résultats

Requête à deux connexions1. Connexion multi-tables

Exemple : requête d'informations sur le score, affichage du surnom du joueur, du nom du jeu et du score.

sélectionnez le nom d'utilisateur comme "Pseudo", le jeu comme "nom du jeu", le score comme "score" parmi les utilisateurs.user_qq = scores.user_qq et game.gno= scores.gno

La requête de connexion est divisé en deux types : connexion interne et connexion externe

Caractéristiques de la jointure interne : Les deux tables connectées ont un statut égal

S'il n'y a pas de données correspondantes dans une table dans l'autre table, pas de connexion sera faite

Directement après la clause from Si plusieurs noms de table apparaissent, cette méthode de connexion est une jointure interne, qui est une jointure interne implicite

                                                                                                                                   Afficher le format de jointure interne : sélectionnez col_list dans la table 1[ inner] rejoignez table2 sur table1.col=table2.clo1

Exemple : interrogez les informations sur le score, affichez le surnom du joueur, le nom du jeu et le score

sélectionnez le nom d'utilisateur comme 'surnom', g_name comme' nom du jeu', score comme' frame .gno =scores.gno

rejoindre les utilisateurs en interne sur score.user_qq=user.user_qq

                                                                                                                                                                                                                                                          s u scores de jointure interne s sur s.user_qq = u.user_qq groupe par u.user_qq, user_name

Exemple : interroger le score moyen de plus de 3500 informations de score, affiche le surnom du joueur, le score total, le score moyen et selon les scores moyens par ordre décroissant

                                                                                                                                                        ‐        à trier par ordre décroissant

groupe par user_qq Le le statut des deux tables connectées est inégal. La table de base de l'une d'entre elles

Chaque donnée de la table de base doit apparaître Même s'il n'y a aucune donnée correspondant dans l'autre table, elle doit être remplie. avec NULL

La table de gauche est la table de base lorsque la table de gauche est connectée Lorsque la table de droite est connectée à la table de droite est la table de base

La première table de la phrase est 'left. table', et la dernière table est 'table de droite'

Format de jointure externe : SELECT COL_LIST FROM TABLE1 LEFT/RIGHT[OUTER] JOIN TABLE2 ON TABLE1.COL=TABLE2.COL

Exemple : Interrogez les informations de score de tous les joueurs du jeu n°5

sélectionnez le nom d'utilisateur comme « surnom » et gno comme « numéro de jeu », le score comme « score » des utilisateurs U qui ont quitté rejoindre les scores S sur U.user_qq=S. user_qq et S.gno=5

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