我有一个有3个字段的表
ID Tax State
0 .50 TX
1 .25 TX
2 .25 AZ
3 .25 AZ
4 .1 AL
Run Code Online (Sandbox Code Playgroud)
我想为每个州提取税金.
Tax State
.75 TX
.5 AZ
.1 AL
Run Code Online (Sandbox Code Playgroud)
如何编写查询来执行此操作?
Mic*_*ski 19
这是一个非常基本的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
Run Code Online (Sandbox Code Playgroud)
请注意,某些RDBMS(例如MySQL)将允许您在以下位置使用列别名ORDER BY:
ORDER BY sumtax DESC
Run Code Online (Sandbox Code Playgroud)
...其他人(如果我没记错的话,就像SQL Server一样)不会,你也必须使用聚合值.
编辑: 我刚刚检查过,实际上SQL Server似乎确实允许使用别名ORDER BY.很确定你不能在GROUP BY虽然使用别名...