1

我有一个包含两个表的数据库 - 一个,州,包含有关每个州的所得税的信息,第二个,括号,包含通过数字键连接到州的每个州的税级。

我想使用 SQL 来检索每个州和每个州的平均税级金额以在记录集中输出。例如:

STATES

id name
1  Alabama

BRACKETS
id bracket amount
1  5%      1000
1  7%      2000
1  8%      10000

如何用最少的 SQL 调用做到这一点?

4

3 回答 3

1
SELECT s.name,Avg(b.bracket) as AverageTax FROM STATES s INNER JOIN BRACKETS b 
ON s.numerickey=b.numerickey
GROUP BY s.id,s.name,b.bracket
于 2010-10-18T19:35:52.060 回答
0

你想做的在数学上是不正确的。你不能这样平均税率。您需要知道每个税率有多少人才能获得平均税率。此计算将给出 6.67 的值(四舍五入并假设您将税率存储在十进制字段而不是整数字段中(当然,您永远不会对浮点数进行任何类型的计算!))。

但是假设 10,000,000 人的税率为 A,1,000,000 人的税率为 B,100 人的税率为 c。现在实际平均税率为5.09%。

于 2010-10-18T19:53:24.977 回答
0
SELECT AVG(`bracket`) FROM `BRACKETS` GROUP BY `id`
于 2010-10-18T19:34:19.163 回答