Устранение дубликатов с 3 уникальными столбцами - PullRequest
0 голосов
/ 04 апреля 2019

После нескольких with заявлений я пришел к этому моменту и, похоже, не могу избавиться от всех дубликатов. Работа в Impala с редактором HUE. В последнем запросе есть несколько столбцов, но я бы хотел, чтобы в первых 3 столбцах не было дублированных значений. Первые 3 должны быть уникальными.

Это код, который я сейчас пытаюсь:

SELECT Rank2.facility_attr0,Rank2.cygtime,Rank2.valve, Rank2.cod,Rank2.ref,Rank2.csgpsi,Rank2.tbgpsi,Rank2.linepsi,Rank2.opldf,Rank2.groff,Rank2.ntoff,Rank2.opcml,Rank2.optml,Rank2.cllow,Rank2.clflw,Rank2.clcrt,Rank2.aftfw,Rank2.cyvol,Rank2.arvt,Rank2.clmdp,Rank2.toton,Rank2.clliq
FROM Rank2
INNER JOIN (
    SELECT Rank2.facility_attr0,Rank2.cygtime,Rank2.valve
    ,row_number() OVER(PARTITION BY Rank2.facility_attr0,Rank2.cygtime,Rank2.valve ORDER BY Rank2.facility_attr0 ASC) as RowUnique
    FROM Rank2
    WHERE Rank2.rnk = 1
    ) as x
ON (x.facility_attr0=Rank2.facility_attr0 and x.cygtime = Rank2.cygtime and x.valve = Rank2.valve and x.RowUnique = 1)
ORDER BY Rank2.facility_attr0, Rank2.CygTIME ASC

Вот результаты, в которых не удаляются дубликаты в соответствии с первыми 3 столбцами. Как видно, 17:03 повторяется.

facility_attr0              cygtime  valve               cod    ref csgpsi
        192102  2019-03-24 17:03:00   OPEN  Tubing-Line Psid    245  465.6
        192102  2019-03-24 17:03:00   OPEN  Tubing-Line Psid    245  454
        192102  2019-03-24 17:03:00   OPEN  Tubing-Line Psid    245  459.8
        192102  2019-03-24 17:03:00   OPEN  Tubing-Line Psid    245  459.8
        192102  2019-03-24 17:03:00   OPEN  Tubing-Line Psid    245  461.7
        192102  2019-03-24 17:03:00   OPEN  Tubing-Line Psid    245  454

Кажется, что подзапрос работает с правильной нумерацией строк.

...