我遇到了关于数据重复的问题;
PIN OwnerNum Effectivity Year Total Tax
pin123 1003 2014 2,000.00
pin123 1002 2009 3,000.00
pin456 4002 2015 1,500.00
pin456 4001 2014 900.00
我的表中有两列,这是我在SQL查询中所需的输出;
PIN OwnerNum Effectivity Year Total Tax
pin123 1003 2014 2,000.00
pin456 4002 2015 1,500.00
我真的觉得这很难,因为我正在为真实财产税系统进行BI报告,该系统没有未来或过去有效年份的实体。为了简化数据,我创建了一个有效年份< = 2015的模块。我想每个针和所有者获得最高效率的年份。谢谢你的帮助。
答案 0 :(得分:1)
首先找到每Effectivity Year
的最高PIN
。然后将结果与PIN
和Effectivity Year
上的表格结合使用,以获得结果。
select PIN,OwnerNum,`Effectivity Year`,Total Tax
from yourtable A
Inner join
(
select PIN,max(`Effectivity Year`) as Max_Effectivity_Year
from Yourtable
Where `effectivity year` <= 2015
Group by PIN
) B
ON A.PIN = B.PIN
AND A.`Effectivity Year` = B.Max_Effectivity_Year