sql 打乱 原有字段ID

来源:百度知道 编辑:UC知道 时间:2024/05/13 10:01:24
原来数据是:

表是:COMPANY

数据库中,标识列(ID)有标题(COMPANY_TITLE),内容(COMPANY_DESC),地址(ADDRESS),电话(TEL),创建时间(CREATE_TIME)

现在要把标题重复的给找出来,然后重复的记录中保留1条,其余相同的统统删掉!

字段值很多,重复的有N多 如:

1 电信 江苏分公司 地址 电话 2009-08-01
2 电信 浙江分公司 地址 电话 2009-08-02
3 电信 上海分公司 地址 电话 2009-08-03

4 网通 江苏分公司 地址 电话 2009-08-01
5 网通 浙江分公司 地址 电话 2009-08-02
6 网通 上海分公司 地址 电话 2009-08-03

打乱后的结果为:

5 电信 江苏分公司 地址 电话 2009-08-01
2 电信 浙江分公司 地址 电话 2009-08-02
6 电信 上海分公司 地址 电话 2009-08-03

3 网通 江苏分公司 地址 电话 2009-08-01
1 网通 浙江分公司 地址 电话 2009-08-02
6 网通 上海分公司 地址 电话 2009-08-03

排列顺序是随机的!

排列后的数据,在给本来的表
(select * into COMPANY FROM COMPAN)大概就是这么个意思。
我用的是SQL 2000

select * from COMPAN order by newid() 这样写我当然知道的啊!

原表的顺序打乱后然后再插入原表

select * from COMPAN order by newid() --sqlserver

select * from COMPAN order by rand() --mysql

select * from COMPAN dbms_random.value(); --oracle

你先删重复的数据,然后再UPDATE随机的ID不行吗??ID是KEY不?

你ORDERBY下试下