最近项目中遇到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 查询数据条数