我有一个包含两个表的数据库 - 一个,州,包含有关每个州所得税的信息,第二个括号,包含通过数字键连接到各州的每个州的税号。
我想使用SQL来检索记录集中输出的每个州的每个州和AVERAGE税率。例如:
STATES
id name
1 Alabama
BRACKETS
id bracket amount
1 5% 1000
1 7% 2000
1 8% 10000
如何使用最少量的SQL调用来完成此操作?
答案 0 :(得分: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
答案 1 :(得分:0)
SELECT AVG(`bracket`) FROM `BRACKETS` GROUP BY `id`
答案 2 :(得分:0)
您想要做的是数学上不正确。你不能用这种方式平均税率。您需要知道每种费率有多少人才能获得平均税率。此计算将给出6.67的值(舍入并假设您将税率存储在十进制字段而不是整数字段中(当然,您永远不会在浮点数上计算任何排序!)。
然而假设10,000,000人的入学率为A,1,000,000人的税率为B,100人的税率为c。现在实际平均税率为5.09%。