Sql Oracle查询:如何将返回的记录限制为仅包含计数的记录>;1但显示完整的结果?
我需要显示具有多个ID的所有用户,但不返回具有多个ID的用户。我试着分组,但我需要列出ID,而不仅仅是计算它们,这样就无法让它对我起作用。我最终使用了下面代码中的一个函数,但它返回了所有记录 选择id、fname、lname、ssn、dob 按fname、lname、ssn、dob)作为cnt对分区进行计数(id) 从桌子上 按cnt desc订购 使用子查询:Sql Oracle查询:如何将返回的记录限制为仅包含计数的记录>;1但显示完整的结果?,sql,oracle,oracle10g,toad,Sql,Oracle,Oracle10g,Toad,我需要显示具有多个ID的所有用户,但不返回具有多个ID的用户。我试着分组,但我需要列出ID,而不仅仅是计算它们,这样就无法让它对我起作用。我最终使用了下面代码中的一个函数,但它返回了所有记录 选择id、fname、lname、ssn、dob 按fname、lname、ssn、dob)作为cnt对分区进行计数(id) 从桌子上 按cnt desc订购 使用子查询: select id, fname, lname, ssn, dob from (select id, fname, lname, ss
select id, fname, lname, ssn, dob
from (select id, fname, lname, ssn, dob,
count(id) over (partition by fname, lname, ssn, dob) as cnt
from TABLE
) t
where cnt >= 2
order by cnt;
WITH CTE (FNAME, LNAME, TALLY) AS
(
SELECT FNAME, LNAME, COUNT(ID) AS TALLY
FROM TABLE
HAVING COUNT(ID) > 1
)
SELECT T.ID, C.FNAME,C.LNAME FROM CTE C
JOIN TABLE T
ON C.FNAME = T.FNAME
AND C.LNAME = T.LNAME