У меня есть данные, как показано ниже
Subject_id T1 T2 T3 T4 T5
1234
1234 21 22 23 24 25
3456 34 31
3456 34 31 36 37 39
5678 65 64 62 61 67
5678 65 64 62 67
9876 12 13 14 15 16
4790 47 87 52 13 16
Как вы можете видеть выше, subject_ids 1234
, 3456
и 5678
повторяются.
Я хотел бы удалить те повторяющиеся объекты, когда они имеют значение null/empty/blank
в любом из столбцов, таких как T1,T2,T3,T4
, T5
.
Теперь проблема в реальном времени, я иметь более 250 столбцов и не уверен, смогу ли я поставить 250 где пункт проверки для значения null
. Итак, я пытался с row_number (), rank (). Не уверен, какой из них лучше. Ниже приведено то, что я пытался
SELECT *,ROW_NUMBER() OVER(PARTITION BY subject_id,T1,T2,T3,T4,T5) NULLS FIRST
from table A;
Но он выдает синтаксическую ошибку Syntax error: Unexpected keyword NULLS at [1:62]
Я ожидаю, что мой вывод будет как ниже
Subject_id T1 T2 T3 T4 T5
1234 21 22 23 24 25
3456 34 31 36 37 39
5678 65 64 62 61 67
9876 12 13 14 15 16
4790 47 87 52 13 16
Как вы можете видите, выходные данные не содержат строк, у которых было по крайней мере 1 пустое / пустое / пустое значение в T1,T2,T3,T4,T5
столбцах.
Может помочь?