Group By
数据表说明
CREATE TABLE [FileList]( [ProjectId] INT NOT NULL ON CONFLICT FAIL, [SensorId] VARCHAR(50) NOT NULL ON CONFLICT FAIL, [FileName] VARCHAR(50) NOT NULL ON CONFLICT FAIL, [StartTime] DATETIME NOT NULL, [EndTime] DATETIME NOT NULL, [FileStatus] VARCHAR(20) DEFAULT Uncompleted, [RowId] INTEGER PRIMARY KEY AUTOINCREMENT, [Id] INT NOT NULL)
RowId作为主键,
用projectid,sensorid,filename三个字段作为记录是否重复的判断
(projectid和sensorid,可以定位到id,所以也可以用id和filename作为记录是否重复的判断)
1.筛选全部数据
select * from filelist
显示有1854条数据
2.分组筛选,过滤掉重复的数据(重复的数据仅显示一条)
select * from filelist group by projectid,sensorid,filename --group by id,filename
显示有1552条数据,说明重复数据个数1854-1552=302
3.筛选出单条重复的数据(仅显示一条)
select * from filelist group by id,filename having count(*) > 1
显示有302条数据
重复数据,筛选出rowid较小的
select * ,min(rowid) from filelist group by id,filename having count(*) > 1
4.筛选出所有的重复的数据
select a.*,b.[count] from filelist as a inner join (select *,count(*) as count from filelist group by id,filename having count(*) > 1) as b on a.id = b.id and a.filename = b.filename
显示有604条数据
5.
作者:Chuck Lu GitHub |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2015-10-21 Weak Event Patterns
2015-10-21 C#中的多文档的使用
2015-10-21 如何将一个Form中的代码拆分到多个文件中
2014-10-21 C#入门经典 第六章 委托