If you are using HR01, you must add criteria on certain key fields in your criteria. I'm taking a guess, but it sounds like the multiple rows could be showing up in your results because the Job Effective Date fields aren't being used.
Here is a list of a few key fields that should be used especially if you are including the Job table in your query:
JobEffDt - Controls effective dating of your results
JobEndDt - Controls effective dating of your results
Empl_Status - Controls the types of appointments returned (Active, On-Leave, On-Leave w/Pay, Short Work Break, Terminated, etc)
Reg_Temp - Controls whether or not you see Regular vs Temporary employees
Job_Family - May be helpful if you only want to see or exclude faculty, staff, GSIs
For example if you are trying to extract a list of active, regular employees in your department/unit as of today, your criteria should look like:
JobEffDt Less Than or Equal to 11/6/2019
JobEndDt Greater Than or Equal to 11/6/2019
Empl_Status = A
Reg_Temp = R
DeptID or Dept Grp = your department or school/college/unit
If you are trying to get the same results within a range of time like as of last year:
JobEffDt Less Than or Equal to 12/31/2018
JobEndDt Greater Than or Equal to 1/1/2018
Empl_Status = A
Reg_Temp = R
DeptID or Dept Grp = your department or school/college/unit
I hope this helps!