原本的的一张表,填写数据的字段为字符串varchar2类型,然后进行排序的时候,就会出现问题。会默直接默认判断为第一个数字9最大,而不判断整个数字的大小。
所以,就要用到TO_NUMBER函数
select * from T_GRGJJJCXX t order by TO_NUMBER(t.c_ye) desc
直接就可以把这个纯数字的字段改成number类型进行排序。
然后查询的时候,发现数据重复过多,这时候,根据某个字段判断重复数据,我初步根据的是姓名去判断,我写的为
select t.name, t.C_GSMC, TO_NUMBER(t.c_ye) as 余额, TO_NUMBER(t.c_byjce) as 本月缴存额, TO_NUMBER(t.c_gzjs) as 工资基数 from T_GRGJJJCXX t where rowid = (select max(rowid) from T_GRGJJJCXX t1 where t.name = t1.name) order by TO_NUMBER(t.c_ye) desc
查找一个表根据rowid判断是否有重复