android sqlite根据指定字段查重和去重

最近项目中遇到sqLite数据库数据出现重复数据,出现重复数据: 

原本意愿是:rygid这一列每个数据只能出现一次,现在存在719、533、528、530 出现重复;

解决思路:(1)将rygid这列数据根据值分组,再分组过滤查询改组数据长度是否大于1条数据。(根据查询的重 
               复数据,删除自己不想要的数据)

            sql 语句:根据某一列的字段值分组,查询分组后数据条数大于一条的数据

           select * from  '数据库名'  where 列名 in (select 列名 from 表名 Group By 列名 
              having count(列名)>1)  

           (sqLite好像不支持多列分组查询,只能进行单列分组查询)

         (2)直接用sqLite语句去重查询(这样只会查询出第一条数据,有可能不是我们需要的数据)

               sql 语句:select *, count(distinct 列名) from 表名 where 列名 group by 列名

         (3)sql 语句:根据列名查询该列去重后的该列字段值

               单列:select distinct 列名1  from   表名;

               多列:select distinct 列名1 ,列名2 from   表名;

         (4) 将某一列排序查询前多少条数据

               sql 语句: select * from  表名 order by 列名 desc limit  查询数据条数

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值