Questo è un aggregato SUM()
veramente rudimentale. Raccomando di leggere la documentazione del tuo RDBMS su funzioni aggregate e GROUP BY
perché è piuttosto elementare.
SELECT
SUM(Tax) AS sumtax,
State
FROM table
GROUP BY State
/* Looks like you want descending order */
ORDER BY SUM(Tax) DESC
Nota che alcuni RDBMS (MySQL, per esempio) vi permetterà di utilizzare un alias di colonna nella ORDER BY
come in:
ORDER BY sumtax DESC
... dove gli altri (come SQL Server se ricordo correttamente) non lo sarà e sarà necessario utilizzare anche il valore aggregato.
Edit:Ho appena controllato e in realtà SQL Server sembra consentire alias nella ORDER BY
. Abbastanza sicuro di non poter usare un alias nello GROUP BY
sebbene ...
fonte
2012-04-10 17:38:21
come posso ottenere l'ID? grazie – dadan
@dadan L'ID non è univoco per ogni aggregato 'SUM()' perché più valori di ID di stato sono rappresentati in ciascun 'SUM()'. (ad esempio, la somma 'TX' ha ID 0, 1) Dovresti pubblicare una domanda che dimostri esattamente ciò di cui hai bisogno. –
grazie per aver risposto, ho trovato la soluzione per il mio problema, usando 'over partition by' su oracle – dadan