我有一个操作日志表,它记录公司员工何时查看注册人记录。我有一个这样的sql查询:
SELECT [ID]
,[RegistrantID]
,[EmployeeID]
,[UserID]
,[CompanyID]
,[VacancyID]
,[Action]
,[ActionDate]
FROM [Hrge].[dbo].[hr_ActionLog]
where action = 4
and CompanyID = 3
order by ActionDate desc
数据是这样的:
ID RegistrantID EmployeeID UserID CompanyID VacancyID Action ActionDate
1793 16295 15 16321 3 NULL 4 2013-08-04 16:45:40.457
1792 16292 15 16321 3 NULL 4 2013-08-04 16:45:33.003
1791 NULL 15 16321 3 NULL 3 2013-08-04 16:45:23.660
1790 16295 9 16289 3 NULL 4 2013-08-04 16:45:09.543
1789 16295 9 16289 3 NULL 4 2013-08-04 16:45:00.817
1799 16295 15 16321 3 NULL 4 2012-08-04 16:45:40.457
1797 16292 15 16321 3 NULL 4 2012-08-04 16:45:33.003
1796 NULL 15 16321 3 NULL 3 2012-08-04 16:45:23.660
1795 16295 9 16289 3 NULL 4 2012-08-04 16:45:09.543
1794 16295 9 16289 3 NULL 4 2012-08-04 16:45:00.817
我想在一年内为注册记录(第一个)选择不同的视图。如果一个注册人每年被浏览 10 次,那么它只会显示第一次被浏览。如果员工在 2 年内查看了 10 次,那么它将显示第一次查看。如果同一公司的 2 名员工在一年内浏览了 10 次,则会显示第一次浏览记录。如果在一年内被两家不同公司的 2 名员工看到 10 次,则将显示两家公司的第一个记录。我需要使用 group by 还是什么?