1

ここにこのクエリがありますselect distinct id, FirstName, LastName from table

これにより、人のリストが返されます。最初に一部の ID が重複を返していましたが、以前distinctはそれを修正していましたが、まだ問題があり、一部の人が重複しています。

IDだけでなく、姓と名を区別することもできますか?(一部の結果には ID が付いていません)

結果 (個別 ID なし):

id - 01 - firstname - james - lastname - smith
id - 01 - firstname - james - lastname - smith
id - 02 - firstname - john - lastname - hicks
id - 02 - firstname - john - lastname - hicks
id -    - firstname - tom - lastname - nicks
id -    - firstname - tom - lastname - nicks

期待:

id - 01 - firstname - james - lastname - smith
id - 02 - firstname - john - lastname - hicks
id -    - firstname - tom - lastname - nicks
4

1 に答える 1

6

idに含まれているため、重複がありますselect

select distinct FirstName, LastName
from table;

id名前にが必要な場合は、次を使用しgroup byます。

select min(id) as id, FirstName, LastName
from table
group by FirstName, LastName;

編集:

これらのクエリでまだ重複が発生している場合は、名前に文字が含まれているため、問題が発生しています。これで重複の問題が解決するかどうかを確認するために、先頭と末尾のスペースをトリミングすることから始めます。

select min(id) as id, trim(FirstName) as FirstName, trim(LastName) as LastName
from table
group by trim(FirstName), trim(LastName);
于 2013-08-02T19:14:14.257 に答える