Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 15284|Répondre: 3

[Pourboires] Conseils pour la requête groupe par groupe

[Copié le lien]
Publié sur 04/08/2017 13:04:14 | | | |
1.Grouper par est utilisé seul, et les résultats de la requête ne montrent qu’un seul enregistrement dans un groupe.
     SÉLECTIONNER * DEPUIS 'employee' ; Résultats de l’émission

sélectionner * dans le groupe d’employés par sexe ; Résultats de l’émission

Seuls deux enregistrements seront affichés, cette valeur est évidemment incorrecte, aucune fonction de collecte n’est utilisée, et la valeur affichée ne correspond qu’aux premières données de chaque groupe.
Si vous souhaitez regrouper et afficher des données, envisagez de l’utilisergroup_concat() fonction,




2.Utilisé avec la fonction group_concat(),Les valeurs de champs spécifiées dans chaque groupe sont affichées
Allez
sélectionner le sexe, group_concat(nom) du groupe d’employés par sexe ;

Ensuite, utilisez les fonctions d’explosion et d’implode pour extraire les données.
3.Utilisé avec des fonctions d’ensemble,Les fonctions d’ensemble incluent count(), sum(), avig(), max() et min().
sélectionner *,compter (sexe) comme total du groupe d’employés par sexe ;


4 Utilisé avec avoir
« Avoir des expressions conditionnelles », ce qui peut limiter le résultat de sortie. Seul le résultat de l’expression conditionnelle est affiché.
Instance:
[couleur=blanc !important]
?

choisir sexe, compter (sexe) de Groupe d’employés par avoir des relations sexuelles Nombre (sexe) >= 3 ;


Résultat:
[couleur=blanc !important]
?

1

2

sexe | Compte (sexe
Masculin | 3





avoir une expression conditionnelle » sur les disques groupés.
5.Groupe par plusieurs champs
sélectionner * parmi l’employé du groupe par sexe, score ;
Les résultats des requêtes sont d’abord regroupés par sexe, puis par score
6 avecUtilisation avec le rouleau
Utiliser avec un rollup ajoutera un enregistrement à la fin de tous les enregistrements, qui est la somme de tous les enregistrements ci-dessus
1

Sélectionnez le sexe, le nombre (sexe) du groupe d’employés par sexe avec le regroupement ;




Résultat:
[couleur=blanc !important]
?

1

2

3

4

sexe | Compte (sexe)
Femme | 1
Masculin | 5
null | 6




Si c’est une chaîne, par exemple, le nom générera un résultat du type « Zhang San, Li Si, Wang Wu », c’est-à-dire la somme des noms.

Score

Nombre de participants1MO+10 contribuer+5 Effondrement raison
Petite ordure + 10 + 5 Les récompenses du programme banane, la typographie posent un peu de problème

Voir toutes les notes





Précédent:Boycott de la construction des autoroutes sur Renxing Road à Jining
Prochain:Plusieurs méthodes courantes pour optimiser les requêtes de données SQL dans MySQL
 Propriétaire| Publié sur 04/08/2017 13:10:17 |
Similarités et différences entre avoir et où

                    Avoir est similaire à où l’on peut filtrer les données, comment écrire l’expression après quoi, et comment l’écrire après avoir
                    où interroge les données des colonnes dans la table
                    Avoir des travaux sur les colonnes dans les résultats de requête, filtrer les données
                    #查询本店商品价格比市场价低多少钱, la production de biens avec un prix inférieur de plus de 200 yuans
                    sélectionner goods_id, good_name, market_price - shop_price comme s à partir de marchandises ayant s>200 ;
                    Vous ne pouvez pas utiliser où car s est le résultat de la requête, et where ne peut filtrer que les noms de champs dans le tableau
                    Si vous utilisez où, c’est :
                    sélectionner goods_id goods_name parmi les marchandises où market_price - shop_price > 200 ;

                    #同时使用where与having
                    sélectionner cat_id,goods_name,market_price - shop_price comme s à partir des biens où cat_id = 3 ayant s > 200 ;
                    #查询积压货款超过2万元的栏目, ainsi que l’arriéré de paiements dans cette chronique
                    Sélectionnez cat_id, somme(shop_price * goods_number) comme t du groupe de marchandises par cat_id ayant s > 20000
                    #查询两门及两门以上科目不及格的学生的平均分
                          Idée :
                            #先计算所有学生的平均分
                             Sélectionnez le nom, moyenne (score) comme PJ du groupe STU par nom ;
                            #查出所有学生的挂科情况
                            Sélectionnez le nom, le score<60 de STU ;
                                    #这里score<60 est une déclaration de jugement, donc le résultat est vrai ou faux, et le vrai est 1 dans mysql et 0 est faux
                            #查出两门及两门以上不及格的学生
                            Sélectionnez le nom, somme (score<60) comme GK dans le groupe STU par le nom ayant GK > 1 ;
                            #综合结果
                            Sélectionnez le nom, somme (score<60) comme GK, moyenne (score) comme PJ dans le groupe STU par le nom ayant GK >1 ;
Publié sur 04/08/2017 17:47:19 |


Cela peut être inséré dans le code
Publié sur 07/08/2017 13:47:02 |
Groupe de propriétaires par post-check* Pas d’erreur ?
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com