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)不会,你也必须在那里使用聚合值。

编辑: 我刚刚检查过,实际上 SQL Server 似乎确实允许在ORDER BY. 很确定您不能在其中使用别名GROUP BY...

于 2012-04-10T17:38:21.777 回答