Результат запроса Postgres для строк с различным значением столбца - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть строки данных в той же таблице, которые различаются по столбцу с именем kitdata, который является именем человека.Все остальные столбцы имеют различные данные.Но там, где столбец с именем «resultid» (число) имеет одинаковое значение в каждом из имен kitdata лиц, мне нужно исключить эти строки из выходного результата.Таким образом, если Кевин и Терри имеют одинаковое число повторных чисел в соответствующей строке, данные не отображаются в результатах.Китданные, называемые кевином, являются основным комплектом.Мне нужно исключить дубликаты данных в «terri» из моих результатов.

Множество вариаций.Включая! = 1

SELECT
  fulln, scm, kitname, sum (resultid)
FROM ftdnamc WHERE kitname !='terri'
GROUP BY
  fulln, scm, kitname
HAVING
  sum (resultid) != 0

Ожидаемые результаты будут удалены из данных, которые будут иметь то же самое повторное значение по сравнению с kevin и terri kitdata.

1 Ответ

0 голосов
/ 03 февраля 2019

NOT EXISTS удалит все строки, когда в столбце есть еще одна строка с таким же значением resultid:

SELECT
  fulln, scm, kitname, resultid
FROM ftdnamc f
WHERE NOT EXISTS (
    SELECT 1 FROM ftdnamc WHERE kitname <> f.kitname AND resultid = f.resultid
)

Если вам нужно SUM, то в столбце будет указано:

SELECT
  fulln, scm, kitname, SUM(resultid)
FROM ftdnamc f
WHERE NOT EXISTS (
    SELECT 1 FROM ftdnamc WHERE kitname <> f.kitname AND resultid = f.resultid
)
GROUP BY fulln, scm, kitname
...