Есть ли способ взять лучшие записи, используя sql - PullRequest
0 голосов
/ 21 июня 2019

В базе данных, содержащей миллион записей, можно ли было бы взять лучшие записи (т. Е. Строки с наиболее заполненными столбцами)

SEQ_ID | PERSON_ID | GENDER | DOB        | COUNTRY
1      |  A000001  |  Male  | 01-01-1970 | 
2      |  A000001  |        |            | Indonesia

Можно ли взять 2 записиобъединить это в 1?Например,

SEQ_ID | PERSON_ID | GENDER | DOB        | COUNTRY
1      |  A000001  |  Male  | 01-01-1970 | Indonesia

1 Ответ

0 голосов
/ 21 июня 2019

В вашем примере вы можете использовать агрегацию:

select MIN(SEQ_ID), PERSON_ID, MAX(GENDER), MAX(DOB), MAX(COUNTRY)
from t
group by PERSON_ID;

Не ясно, будет ли это работать в целом на ваших данных, но это действительно отвечает на вопрос, который вы задали.Если это не сработает, вам следует задать новый вопрос с более подходящими данными и объяснением логики, которую вы хотите использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...