数据库怎么去重复,告诉SQL语句,谢谢,oracle,sql server,mysql什么的,应该没什么差别。
例如我有一张表test(name,age,major,id);其中id是主键,自动增加,不需要管。插入也只是插入另外两项就可以。表里面数据有大概50万条数据,但是有major这项重复的,怎么保证major不重复性。怎么搜索表里面哪些有重复,如果发现重复,随便选定其中一个保留下来,其它删除就可以。不要告诉我重新设计表和属性,因为数据已经存入,并且有他用,没办法重新设计了。谢谢。分不多,谢谢好心解答。
补充:上面说错了,插入时候,插入除了id之外的另外3项就可以。
追问:放心,如果这个能用,绝对给你,只是想问一下,test a 和 test b分别是什么,这个表的名字叫做test,您可以参考一下我和上面一位回答者的对话,谢谢!那mysql可以这么用吗就是表里面有重复的数据,怎么把重复的去掉,数据量很大,不可能逐个匹配那删除呢。假如里面有如下数据(1,2,3);(1,2,4);(1,2,3);(2,2,3);我要获得哪些是重复的,然后在这些重复的里面保证第三项是唯一的。假如出现了重复的,保留下来随便一个就可以好吧,我再简化一点,就是怎么知道我上面随便写的4个数据,第一个和第三个是重复的。知道了之后,保留其中一个,其它删掉。
答案:delete from test a where a.rowid <> (select max(rowid) from test b where a.major = b.major);
删除重复的,只留下一条。 分拿来吧。
其他:你的题目太长了!我没有时间仔细看,你就简单说一下,你的问题是什么?要达到什么目的?
上一个:oracle数据库,表table中存储了姓名author、时间publishedtime、正文content等字段,求文章数量/月/人
下一个:数据库中如何添加一个如xh001每添加一条信息.这个就自增长1。最好是(oracle、mysql、mssql)的。谢谢了。