Да, в общем, для обнаружения дубликатов,
Select [ColumnList you want to be unique]
From Table
Group By [SameColumn List]
Having Count(*) > 1
В вашем конкретном случае
Select person_id, company_id, financial_year
From Table
Group By person_id, company_id, financial_year
Having Count(*) > 1
или, для вашего подвопроса (1) о том, встречается ли каждый person_id не более одного раза для company_id на financial_year в этой таблице
Select company_id, financial_year
From Table
Group By company_id, financial_year
Having Count(Person_Id) > 1
и для (2): (когда (1) ложно, какие person_id, company_id и financial_year встречаются более одного раза
Select person_id, company_id, financial_year
From Table T
Where Not Exists
(Select * From Table
Where company_id = T.company_id
And financial_year = T.financial_year
Having Count(Person_Id) > 1)
Group By person_id, company_id, financial_year
Having Count(*) > 1