Sql 某些用户仅读取活动记录的安全性(标志1或最新日期)

Sql 某些用户仅读取活动记录的安全性(标志1或最新日期),sql,sql-server,row-level-security,Sql,Sql Server,Row Level Security,在数据仓库(SQL Server 2012)和一些表中,我希望实现一个选项,其中一些用户只能看到最新的行(日期或标志),而不是整个历史。这是可能的吗?视图将是这方面的一个很好的用例。。。使用窗口函数查找“最新”记录类似于这样的内容。您还可以在dateColumn上使用带有内部联接的MAX()。只需填写分区部分,了解您想要根据哪些内容对数据进行分组 使用条件创建视图 create view myView as ;with cte as( select primaryKey ,colu

在数据仓库(SQL Server 2012)和一些表中,我希望实现一个选项,其中一些用户只能看到最新的行(日期或标志),而不是整个历史。这是可能的吗?

视图将是这方面的一个很好的用例。。。使用窗口函数查找“最新”记录类似于这样的内容。您还可以在
dateColumn
上使用带有内部联接的
MAX()
。只需填写分区部分
,了解您想要根据哪些内容对数据进行分组


使用条件创建视图
create view myView
as

;with cte as(
select
   primaryKey
   ,column2
   ,dateColumn
   ,RN = row_number over (partition by <column1, column2> order by dateColumn desc)
from
   YourTable)

select 
   primaryKey
   ,column2
   ,dateColumn
from cte
where RN = 1
grant select on myView to MyUserGroup