0

私のMySQLテーブル(会社)には重複したレコードが含まれています。つまり、会社が繰り返されており、ほとんどの列に値があるレコードとないレコードがあります。したがって、最小限の情報を持つ重複した会社を削除したいと思います。アイデアはありますか?

Id Company_name column column2 column3 column4    
-------------------------------------------------
1  A                   xyz 
2  B            pqr    abc      tcv    aaa 
3  A            bnm    xyz      ccc     
4  A            bnm    xyz         
5  B                                   aaa 

次のようにテーブルを取得する必要があります

Id Company_name column column2 column3 column4    
-------------------------------------------------    
2  B            pqr    abc      tcv    aaa 
3  A            bnm    xyz      ccc     
4

2 に答える 2

1

各行の「スコア」を取得し、それに基づいて決定することができます。以下は、どこから始めればよいかを示す簡単な例です。

SELECT id, 
       name,  
       length(concat_ws('', col1, col2, col3, col4)) AS score 
  FROM company
 ORDER BY score DESC;

sqlfiddleでそれを参照してください

于 2013-09-30T04:15:52.703 に答える