Dies ist ein wirklich rudimentär SUM()
Aggregat. Ich empfehle Ihnen, die Dokumentation Ihres RDBMS zu den Aggregatfunktionen und GROUP BY
zu lesen, da dies ziemlich elementar ist.
SELECT
SUM(Tax) AS sumtax,
State
FROM table
GROUP BY State
/* Looks like you want descending order */
ORDER BY SUM(Tax) DESC
Beachten Sie, dass einige RDBMS (MySQL, zum Beispiel) ermöglicht es Ihnen, eine Spalte alias im ORDER BY
wie in verwenden:
ORDER BY sumtax DESC
... wo andere (wie SQL Server, wenn ich mich recht erinnere korrekt) wird nicht und Sie müssen den Gesamtwert auch dort verwenden.
Edit:ich gerade überprüft und tatsächlich SQL Server scheint Aliase in den ORDER BY
zu ermöglichen. Ziemlich sicher, dass Sie nicht ein Alias in den GROUP BY
verwenden können, obwohl ...
wie kann ich die 'ID' bekommen? danke – dadan
@dadan Die ID ist nicht für jedes 'SUM()' Aggregat eindeutig, weil mehrere Status ID Werte in jedem 'SUM()' dargestellt werden. (zum Beispiel 'TX' sum hat ids 0, 1) Sie sollten eine Frage stellen, die genau zeigt, was Sie brauchen. –
danke für die antwort, ich habe lösung für mein problem gefunden, mit 'over partition by' auf oracle – dadan