有没有办法使用sql记录最佳记录

时间:2019-06-21 04:01:49

标签: mysql sql database

在具有上百万条记录的数据库中,是否可能会获得最佳记录(即,具有最多填充列的行)

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 :(得分:0)

在您的示例中,您可以使用聚合:

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

目前尚不清楚这是否通常可以在您的数据上使用,但这确实可以回答您提出的问题。如果这不起作用,您应该问一个 new 问题,其中包含更适当的数据和您要使用的逻辑的解释。