select 字段name from 表A where 字段name in (select 字段name from 表A group by 字段name having count(字段name)>1) order by 字段name
2.sql 替换某一列的某几个值
update 表名 set 字段名 =replace(原字段名,被替换前的数值,替换后的数值)
例子:
update 表A set age = replace(age,18,20)
可能是 设计上存在问题, 或者 规则被破坏了。
也可能是sql语句,原先没有考虑周全,有遗漏的地方,原先没有出现问题,只是没有这种情况的数据出现
查询出 重复 数据,到数据库表中 去查,
数据库表中是否有 重复的2条数据, 如果有,那么就是1的情况
如果 数据库中 就是1条, 那么就是2 的情况。
1、创建测试表,
create table test_count(id varchar2(20), value varchar2(20))
2、插入测试数据
insert into test_count values(1, 1)
insert into test_count values(2, 1)
insert into test_count values(3, 1)
insert into test_count values(4, 2)
insert into test_count values(6, 1)
insert into test_count values(7, 3)
insert into test_count values(8, 3)
insert into test_count values(9, 3)
insert into test_count values(10, 3)
commit
3、查询表中全量数据,select t.*, rowid from test_count t
4、编写sql,可以得到每一个value重复的个数,并按照由大到小排列;
select value, count(*) from test_count t group by value order by 2 desc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)