SQL_过滤相邻数据重复项,筛选出。间隔的重复数据
来源:互联网 发布:java.util. 编辑:程序博客网 时间:2024/05/16 23:41
SQL爬坑系列二。。。。。。。。。
本人新手,入门SQL,对于此问题有更好见解欢迎赐教哈。。。
1.先看数据:
图片展示:
文本展示(可copy进txt,导入excel,再导入数据库生成):
序号,企业,建设主体
1,渝兴印刷厂,供销社
2,莱迅塑胶材料厂,供销社
3,金盏塑料厂,粮管所
4,红林五金电器厂,粮管所
5,永明五金加工厂,粮管所
6,新星塑料五金厂,粮管所
7,德满装潢材料经营部,德满装潢材料经营部
8,飞扬精密五金厂,德满装潢材料经营部
9,朱氏门窗厂,德满装潢材料经营部
10,创意铝合金加工厂,建筑站
11, 德程纸业有限公司,德程纸业有限公司
12,东华幕墙构件五金厂,供销社
13,严水红五金厂,兽医站
14,傅建文防火门厂,德满装潢材料经营部
15,青龙橡塑制品有限公,青龙橡塑制品有限公
2.目的:解决,建设主体为不同地块却重名,导致,通过重名的建设主体无法找到对应的租赁企业,产生的多对多现象。
3.思考:将相邻序号的重复的建设主体过滤,留下不相邻序号也重复的建设主体。
4.前提:序号间隔超过1的即为不同地块单元。
具体步骤:
(1).更新,每个建设主体对应的租赁企业数目Num;
a.新建AB_1表:
SELECT [建设主体],COUNT([序号])as Num
INTO AB_1
FROM [XCIE].[dbo].[AA_CSDN]
GROUP BY [建设主体]
b.给主表AA_CSDN新建Num字段,并更新;
UPDATE [AA_CSDN]
SET [AA_CSDN].Num = AB_1.Num
FROM AB_1,[dbo].[AA_CSDN]
WHERE AB_1.建设主体=[AA_CSDN].建设主体
(2).通过建设主体的最大序号减最小序号(MAX([建设主体])-MIN([建设主体])),获得差值differ;
a.序号为数值型,或新建数值型字段;
b.
SELECT 建设主体,(MAX(序号int)-MIN(序号int))as Differ
INTO AB_2
FROM [AA_CSDN]
GROUP BY 建设主体
c.
UPDATE [AA_CSDN]
SET [AA_CSDN].Differ = AB_2.Differ
FROM AB_2,[dbo].[AA_CSDN]
WHERE AB_2.建设主体=[AA_CSDN].建设主体
(3).通过differ+1是否等于Num获得结果
SELECT *
FROM [AA_CSDN]
WHERE Num!=Differ+1
- SQL_过滤相邻数据重复项,筛选出。间隔的重复数据
- EXCEL 一组数据筛选出重复的数据/去重
- Oracle 删除或筛选出重复数据
- PHP实例:从数组里筛选出重复的数据
- 删除相邻重复数据
- Excel筛选重复数据
- SQL筛选重复数据
- sql筛选重复数据
- sql_查询一张表中的重复数据
- SQL SQLite 筛选(查询)出 重复数据
- 【过滤重复】一次过滤重复数据的优化过程
- sql Server 筛选重复的数据。
- datatable筛选不重复的sourceColumn数据
- ibatis 过滤重复数据
- 过滤重复数据
- 过滤数组重复数据
- 添加数据 过滤重复
- mysql的distinct用法-mysql中如何筛选出非重复的数据
- 互联网营销讨论社区
- 剑指offer之二维数组中的查找
- 初识C语言
- Linux应用编程基础--(3)文件库
- Android Data Analyse(4)--StateMachine
- SQL_过滤相邻数据重复项,筛选出。间隔的重复数据
- JSP
- TraceView工具如何使用
- android studio 导入jar包
- BZOJ 1529 [POI 2005] 并查集 解题报告
- python sys.argv是什么?
- 笔记 正则表达式
- T-Finder论文中IVMM算法的源码
- TensorFlow实现经典深度学习网络(1):TensorFlow实现AlexNet