编写 SQL 查询以查找链接到同一用户 ID 的不同用户

Write a SQL Query to find different users linked to same User ID

所以我目前在一个项目中使用多个来源,其中之一是 SAP 数据。 我需要 return 本质上“重复”并找到链接到同一 SAP 用户 ID 的所有不同用户。但是,有些条目是有效的,因为数据描述了对不同 SAP 系统的访问角色。所以如果同一个用户多次出现是正常的。但是我需要找到分配给同一个用户 ID 的不同名称的位置。

这是我目前拥有的:

select *
   from (
      select *,
      row_number() over (partition by FULL_NAME order by USER_ID) as row_number 
from SAP_TABLE 
) as rows order by USER_ID desc

如有任何帮助,我们将不胜感激。谢谢!

你在找这个吗?

    select count(distinct FULL_NAME),
           USER_ID
      from SAP_TABLE
  group by USER_ID
    having count(distinct FULL_NAME) > 1

您可以使用这段代码找到所有出现不止一次的用户 ID。

SELECT USER_ID, COUNT(*)
FROM SAP_TABLE
GROUP BY 1
HAVING COUNT(*) > 1;

您将按 user_id

进行分区
select *
   from (
      select *,
             count(distinct (full_name)) over (partition by user_id) as rnk 
        from SAP_TABLE 
        ) as rows 
 where rnk>1
  order by USER_ID desc