编写 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
所以我目前在一个项目中使用多个来源,其中之一是 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