Pourquoi avons-nous besoin de GROUPE avec des FONCTIONS d'AGRÉGATION?

J'ai vu un exemple où il y a une liste (tableau) des employés avec leurs salaires mensuels. J'ai fait une somme des salaires et vu exactement la même table dans la ouptput !!! C'était étrange.

Voici ce qui doit être fait - nous savoir combien d'argent nous payer ce mois-salaires des employés. Pour cela, nous avons besoin de la somme de leur salaire dans la base de données, comme illustré -

SELECT EmployeeID, SUM (MonthlySalary) 
FROM Employee
GROUP BY EmpID

Je sais que j'ai une erreur si je n'utilise pas de groupe dans le code ci-dessus. C'est ce que je ne comprends pas -

Nous sommes en sélectionnant employé de la table employés. SUM() est dit qu'il a ajouter le MonthlySalary colonne de la table Employés. Donc, il devrait directement aller et ajouter ces chiffres vers le haut au lieu de les regrouper et ensuite de les ajouter.

C'est comment une personne le ferait - regarder des employés de la table et ajouter tous les nombres. Pourquoi aurait-il prendre la peine de les regrouper et ensuite de les additionner ?

  • Si vous souhaitez calculer la somme de la colonne entière sans regroupement, de ne pas les utiliser SQL group by. SQL group by n'est pas de faire ce que une personne pourrait être en train de faire. En SQL, le groupement n'a pas de sens si vous ne faites pas quelque chose pour les groupes.
  • quels groupes ?
  • Les groupes de EmpID de la table Employés. Au lieu d'essayer de comparer ce groupe en est à faire par rapport à ce que fait une personne, demandez plutôt: Comment SQL groupe de travail et comment pouvons-nous nous aligner avec ce que nous voulons: stackoverflow.com/questions/7434657/how-does-group-by-works
  • parce qu'une personne serait implicitement en déduire qu'il/elle a à la somme du salaire de nombre à travers le même id de l'employé. Un homme l'analyse de la table et la somme de tous les salaires correspondant à la même id de l'employé. Le "correspondant à la même id d'employé" cahier des charges est le "GROUPE Par EmpID" la partie d'un homme qui ne déduire et un ordinateur ne serait pas 🙂 Le fait que vous êtes en sélectionnant "Employé" peut-être rien à voir avec le fait que vous souhaitez de la somme de tous les salaires à travers le même id de l'employé
InformationsquelleAutor david blaine | 2012-12-21