Запрос Oracle: как ограничить возвращаемые записи только теми, которые имеют число> 1, но показывают полные результаты? - PullRequest
0 голосов
/ 10 июня 2019

Мне нужно показать всем пользователям, которые имеют более одного идентификатора, но не вернуть пользователей, которые делают. Я пробовал группировать, имея, но мне нужно перечислить идентификаторы, а не просто подсчитать их, поэтому не смог заставить это работать для меня. В итоге я использовал приведенный ниже код, но он возвращает все записи.

выберите id, fname, lname, ssn, dob считать (id) для раздела по имени, lname, ssn, dob) как cnt из таблицы заказ по cnt desc;

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Использовать подзапрос:

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;
0 голосов
/ 10 июня 2019
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
...