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

目录
相关文章
|
11天前
|
SQL NoSQL Java
Java使用sql查询mongodb
通过使用 MongoDB Connector for BI 和 JDBC,开发者可以在 Java 中使用 SQL 语法查询 MongoDB 数据库。这种方法对于熟悉 SQL 的团队非常有帮助,能够快速实现对 MongoDB 数据的操作。同时,也需要注意到这种方法的性能和功能限制,根据具体应用场景进行选择和优化。
44 9
|
1月前
|
SQL 存储 人工智能
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
Vanna 是一个开源的 Python RAG(Retrieval-Augmented Generation)框架,能够基于大型语言模型(LLMs)为数据库生成精确的 SQL 查询。Vanna 支持多种 LLMs、向量数据库和 SQL 数据库,提供高准确性查询,同时确保数据库内容安全私密,不外泄。
108 7
Vanna:开源 AI 检索生成框架,自动生成精确的 SQL 查询
|
18天前
|
SQL 存储 缓存
Flink SQL Deduplication 去重以及如何获取最新状态操作
Flink SQL Deduplication 是一种高效的数据去重功能,支持多种数据类型和灵活的配置选项。它通过哈希表、时间窗口和状态管理等技术实现去重,适用于流处理和批处理场景。本文介绍了其特性、原理、实际案例及源码分析,帮助读者更好地理解和应用这一功能。
95 14
|
2月前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
39 8
|
2月前
|
SQL 安全 PHP
PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全
本文深入探讨了PHP开发中防止SQL注入的方法,包括使用参数化查询、对用户输入进行过滤和验证、使用安全的框架和库等,旨在帮助开发者有效应对SQL注入这一常见安全威胁,保障应用安全。
67 4
|
2月前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
|
2月前
|
SQL 存储 缓存
如何优化SQL查询性能?
【10月更文挑战第28天】如何优化SQL查询性能?
173 10
|
2月前
|
SQL 关系型数据库 MySQL
|
2月前
|
SQL 存储 缓存
SQL Server 数据太多如何优化
11种优化方案供你参考,优化 SQL Server 数据库性能得从多个方面着手,包括硬件配置、数据库结构、查询优化、索引管理、分区分表、并行处理等。通过合理的索引、查询优化、数据分区等技术,可以在数据量增大时保持较好的性能。同时,定期进行数据库维护和清理,保证数据库高效运行。
|
3月前
|
SQL 数据库 开发者
功能发布-自定义SQL查询
本期主要为大家介绍ClkLog九月上线的新功能-自定义SQL查询。