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

regroupement et tri des données MySQL et ordre des clauses SELECT

巴扎黑
Libérer: 2017-05-09 13:50:00
original
2343 Les gens l'ont consulté

regroupement et tri mysql

Bien que GROUP BY et ORDER BY accomplissent souvent le même travail, ils sont très différents. Le tableau ci-dessous résume leurs différences.

regroupement et tri des données MySQL et ordre des clauses SELECT

La première différence répertoriée dans le tableau est extrêmement importante. Nous constatons souvent que les données regroupées par GROUP BY sont effectivement sorties dans un ordre de groupe. Mais ce n'est pas toujours le cas, et ce n'est pas requis par la spécification SQL. De plus, les utilisateurs peuvent demander que les éléments soient triés dans un ordre différent de celui regroupé. Ce n'est pas parce que vous regroupez les données d'une certaine manière (pour obtenir une valeur globale groupée spécifique) que vous devez trier la sortie de la même manière. Une clause ORDER BY explicite doit être fournie, même si son effet est le même qu'une clause GROUP BY. N'oubliez pas ORDER BY : Généralement, lorsque vous utilisez la clause GROUP BY, vous devez également donner à

une clause ORDER BY. C'est le seul moyen de garantir que les données sont correctement triées. Ne vous fiez jamaisne vous fiez jamais uniquement à GROUP BY pour trier vos données. Pour illustrer l'utilisation de GROUP BY et ORDER BY, veuillez regarder un exemple. L'instruction SELECT suivante est similaire aux exemples précédents. Il récupère le numéro de commande et le prix total de commande des commandes dont le prix total de commande est supérieur ou égal à 50 :

Entrée :

Sortie :

select order_num,sum(quantity*item_price) as ordertotal from orderitems group by order_num having sum(quantity*item_price) >= 50;
Copier après la connexion

Pour trier la sortie par prix total de la commande, vous devez ajouter une clause ORDER BY, comme indiqué ci-dessous : regroupement et tri des données MySQL et ordre des clauses SELECT

Entrée :

Sortie :

select order_num,sum(quantity*item_price) as ordertotal from orderitems group by order_num having sum(quantity*item_price) >= 50 order by ordertotal;
Copier après la connexion

Analyse : Dans cet exemple, la clause GROUP BY est utilisée pour regrouper les données par numéro de commande (colonne order_num) regroupement et tri des données MySQL et ordre des clauses SELECT afin que la SUM( *) La fonction peut renvoyer le prix total de la commande. La sous-clause HAVING

filtre les données afin que seules les commandes dont le prix total de la commande est supérieur ou égal à 50 soient retournées. Enfin, utilisez la clause ORDER BY pour trier le résultat. Ordre des clauses SELECT

Revoyons l'ordre des clauses dans l'instruction SELECT. Le tableau 13-2 répertorie les clauses apprises jusqu'à présent dans l'ordre dans lequel doit être utilisé dans une instruction SELECT.

regroupement et tri des données MySQL et ordre des clauses SELECT

[Recommandations associées]regroupement et tri des données MySQL et ordre des clauses SELECT

    Regroupement de données MySQL : Créer un regroupement
  1. regroupement de données MySQL : filtrer le regroupement

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!

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!