我有一个大约700万行的数据库,在这些行中我有大约20列,其中三列有数字,但数字在3列和不同位置重叠。我在这个网站上尝试了很多解决方案,我得到的最好的是:
SELECT DISTINCT res_no FROM gd1file_4_5000000_records
UNION
SELECT DISTINCT mobile_no FROM gd1file_4_5000000_records
UNION
SELECT DISTINCT mobile_no2 FROM gd1file_4_5000000_records
这只给了我可以导出的一行中唯一编号的计数,但其余的数据不再存在,姓名,姓氏等。我需要的是保持数据不变,但只需删除重复。
所以我的表看起来像这样:
IDNUM | INIT | FIRST_NAME | res_no | mobile_no | mobile_no2 |
所以我想保留这样的列表,但删除res
,mobile
和mobile2
之间的欺骗,只需能够导出而不必更改原始文件表。
答案 0 :(得分:0)
这就是我为解决这个问题所做的,可能不是我想要做的,但它对我有用。
SELECT max(field1),field2,max(field3),max(field4),max(field5),max(field6),max(field7),max(field8),max(field9),max(field10) FROM表GROUP BY field2;
唯一的问题是它不会改变原始表,但您可以将结果导出到新表中。