Sql去重查询数据

简介: Sql去重查询数据
+关注继续查看

最近在工作过程中,面试过程中, 部分求职者或者同事,对sql怎么去重查询,不是太熟练

今天下午忙里偷闲, 整理了一下 

其实sql基本的查询 ,还是蛮有意思,   下面是我大致整理的几种去重查询 

1.存在2条一样的数据,  使用distinct


eg:   select distinct * from table(表名) where  条件


2.存在部分字段相同(有key, id  即唯一键) 如:id列不同,id类型为int,自增字段,使用聚合函数max或其他

eg:   select * from  table  where  id  in (

  select  max(id)  from  table  group by  [去重复字段表1,.....] having COUNT(*)>1

  )



 3.没有唯一键 ID,  需要借助创建临时表,来解决

eg:  select  indentity (int,1,1) as  id , * into newtable(临时表)  from table

 select * from newtable where  id in  (select max(id)  from newtable group by [去重复字段表1,.....]) drop table newtable


4. id列不同,id类型为uniqueidentifier

① 使用row_number() over() he partition by  给每一组添加行号

select *,(row_number() Over(partition By'分组字段' order By '排序字段')) RowNum from

(select * from table where '分组字段'in (

select '分组字段' from table group by '分组字段' having count(*) >1)t1)

②将行号=1的数据插入临时表中

Select * into #A from (‘上面的sql语句’) t2 where t2.RowNum=1

注意:


1.row_number() over()是给行加行号的


2.partition  by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组


详细如: https://blog.csdn.net/wuyoudeyuer/article/details/91387434



目录
相关文章
|
19小时前
|
SQL Java 数据库连接
sql语句能查询出来,mybatis未查询出结果问题解决
sql语句能查询出来,mybatis未查询出结果问题解决
4 0
|
1天前
|
SQL 开发框架 安全
SQL 日期处理和视图创建:常见数据类型、示例查询和防范 SQL 注入方法
在数据库操作中,处理日期是一个关键的方面。确保插入的日期格式与数据库中日期列的格式匹配至关重要。以下是一些常见的SQL日期数据类型和处理方法。
26 8
|
18天前
|
SQL
在sql 里嵌套查询时,查询条件带有instr时报错
在sql 里嵌套查询时,查询条件带有instr时报错
15 1
|
20天前
|
SQL 存储 缓存
Flink CDC中flink sql 如果缓存起来所有的数据,然后基于这个数据做查询?
Flink CDC中flink sql 如果缓存起来所有的数据,然后基于这个数据做查询?
17 1
|
21天前
|
SQL 数据挖掘 关系型数据库
数据分析法宝,一个SQL语句查询多个异构数据源
NineData DSQL 是针对多个同异构数据库系统进行跨库查询的功能,当前支持对表和视图进行 SELECT 操作。您可以在一个查询中访问多个数据库,获取分散在各个数据库中的有用信息,并且将这些信息聚合为一份查询结果返回,轻松实现跨多个库、多个数据源,乃至跨多个异构数据源的数据查询。
235 0
数据分析法宝,一个SQL语句查询多个异构数据源
|
24天前
|
SQL 分布式计算 调度
在MaxCompute中,你可以通过SQL语句来查询和导出实例的运行状态和时间等信息
在MaxCompute中,你可以通过SQL语句来查询和导出实例的运行状态和时间等信息
26 5
|
25天前
|
SQL 存储 程序员
数据库SQL查询知识学习指导
数据库SQL查询知识学习指导
20 1
|
1月前
|
SQL 分布式计算 Java
201 Spark SQL查询程序
201 Spark SQL查询程序
18 0
|
2月前
|
SQL 数据库
达梦(DM) SQL查询及联合查询
继续讲解达梦(DM)数据库SQL查询操作
|
2月前
|
SQL 存储 分布式计算
HA3 SQL样本实验:一种混合计算查询的全新样本解决方案
HA3(对外开源代号:Havenask )是阿里智能引擎团队自研的大规模分布式检索系统,广泛应用于阿里内部的搜索业务,是十多年来阿里在电商领域积累下来的核心竞争力产品。Ha3 SQL 是在原有Ha3引擎基础上,新增的SQL查询功能,引擎内置了SQL形式的的查询语法,允许用户通过写SQL语句来构造引擎查询。
推荐文章
更多