Je comprends le point de ``
Mais comment fait `` travail et ce que cela signifie ?
Je comprends le point de ``
Mais comment fait `` travail et ce que cela signifie ?
Group By X
moyen de mettre toutes les personnes avec la même valeur de X dans le groupe.
Group By X, Y
moyen de mettre tous ceux qui ont les mêmes valeurs de X et de Y dans la un groupe.
Pour illustrer à l'aide d'un exemple, disons que nous avons le tableau suivant, de le faire avec ceux qui assistent à ce sujet lors d'une université:
Table: Subject_Selection
Subject Semester Attendee
---------------------------------
ITB001 1 John
ITB001 1 Bob
ITB001 1 Mickey
ITB001 2 Jenny
ITB001 2 James
MKB114 1 John
MKB114 1 Erica
Lorsque vous utilisez un group by
sur le sujet de la colonne seulement; dire:
select Subject, Count(*)
from Subject_Selection
group by Subject
Vous obtiendrez quelque chose comme:
Subject Count
------------------------------
ITB001 5
MKB114 2
...parce qu'il y a 5 entrées pour ITB001, et 2 pour MKB114
Si nous devions group by
deux colonnes:
select Subject, Semester, Count(*)
from Subject_Selection
group by Subject, Semester
nous aimerions obtenir ceci:
Subject Semester Count
------------------------------
ITB001 1 3
ITB001 2 2
MKB114 1 2
C'est parce que, quand on groupe par deux colonnes, c'est dire "Groupe afin que tous ceux du même Sujet et le Semestre sont dans le même groupe, puis de calculer toutes les fonctions d'agrégation (Count, Sum, average, etc.) pour chacun de ces groupes". Dans cet exemple, ceci est démontré par le fait que, lorsque nous les compter, il y a trois personnes en faire ITB001 en semestre 1, et deux à le faire dans le semestre 2. Deux des personnes qui le font MKB114 sont en semestre 1, donc il n'y a pas de ligne pour le semestre 2 (pas de données s'inscrit dans le groupe "MKB114, Semestre 2")
Espérons que cela a du sens.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.