9

3つのフィールドを持つテーブルがあります

ID  Tax   State
0   .50   TX
1   .25   TX
2   .25   AZ
3   .25   AZ
4   .1    AL

各州の税額の合計を引き出したいです。

Tax   State
.75   TX
.5    AZ
.1    AL

これを行うためのクエリをどのように記述しますか?

4

1 に答える 1

23

これは本当に初歩的なSUM()骨材です。集約関数に関するRDBMSのドキュメントを読むことをお勧めしますGROUP BY。これは、非常に初歩的なものだからです。

SELECT
  SUM(Tax) AS sumtax,
  State
FROM table
GROUP BY State
/* Looks like you want descending order */
ORDER BY SUM(Tax) DESC

一部のRDBMS(MySQLなど)では、次のように列エイリアスを使用できることに注意してくださいORDER BY

ORDER BY sumtax DESC

...他の人(私が正しく思い出せばSQL Serverのように)はそうしないので、そこでも集計値を使用する必要があります。

編集: チェックしたところ、実際にはSQLServerはでエイリアスを許可しているようですORDER BY。ただし、エイリアスを使用できないことは確かですGROUP BY...

于 2012-04-10T17:38:21.777 に答える