Ho visto un esempio in cui c'era un elenco (tabella) di dipendenti con i loro rispettivi stipendi mensili. Ho fatto una somma degli stipendi e ho visto esattamente lo stesso tavolo nell'output !!! E 'stato stranoPerché abbiamo bisogno di GROUP BY con FUNZIONI AGGREGATE?
Ecco cosa deve essere fatto - dobbiamo scoprire quanti soldi paghiamo questo mese come stipendi dei dipendenti. Per questo, abbiamo bisogno di riassumere la loro quantità di stipendio nel database come indicato -
SELECT EmployeeID, SUM (MonthlySalary)
FROM Employee
GROUP BY EmpID
So che ottengo un errore se io non uso di gruppo da in codice di cui sopra. Questo è quello che non capisco -
Stiamo selezionando employeeid dalla tabella dei dipendenti. SUM() viene detto che deve aggiungere la colonna MonthlySalary, dalla tabella Employee. Quindi, dovrebbe andare direttamente e aggiungere quei numeri invece di raggrupparli e quindi aggiungerli.
Ecco come lo farebbe una persona: guarda la tabella dei dipendenti e aggiunge tutti i numeri. Perché dovrebbe prendersi la briga di raggrupparli e poi aggiungerli?
Se si desidera sommare l'intera colonna senza raggruppamento, non utilizzare SQL group by. Il gruppo SQL non sta facendo ciò che una persona farebbe. In SQL, il raggruppamento non ha senso se non si sta facendo qualcosa ai gruppi. –
@EricLeschinski - quali gruppi? –
I gruppi di EmpID dalla tabella Employee. Invece di cercare di confrontare il gruppo in base a ciò che fa una persona, chiedi invece: in che modo SQL raggruppa per lavoro e come possiamo allinearlo con ciò che vogliamo: http://stackoverflow.com/questions/7434657/how -segue-group-by-works –