SQL重复数据的筛选

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL重复数据的筛选相关的知识,希望对你有一定的参考价值。

insert into 临时表(ID,BH,SJ,PZ)
select ID,BH,SJ,PZ
from JKXX
这样查询出来的值会有重复数据,JCSJ是检查时间,
怎么将重复数据只留F_JCSJ最新的那一行啊

结果中去除重复数据可以使用函数【distinct】也可以使用分组语句【group by】

1、【distinct】使用示例:

select distinct userid,username from 表名


2、分组语句【group by】使用示例:

select userid,username from 表名 group by userid,username


1和2两个语句的select检索输出结果是一致的

参考技术A 如果要去除重复列 可以根据jcsj字段进行分组 (group by)
想要留时间最新的 可以在查询字段前加MAX 如:MAX(jcsj)
参考技术B 你要看你有哪些数据段是相同的,就根据那些相同的数据段分类。
比如说,
A B C D
1 1 1 3
1 1 1 4
1 1 1 5
(前面的insert 我就不写了)
那就是select A,B,C,MAX(D) FROM TABLE GROUP BY A,B,C
如果是
A B C D
1 1 1 2
2 1 1 3
3 1 1 4
就是说,如果你还有一个字段是id,主键的话就是
select A,B,C,MAX(D) FROM TABLE GROUP BY B,C
参考技术C 楼主,是不是ID,BH,PZ相同时,但SJ不同?如果这样,就按者三个分组查询。
insert into 临时表(ID,BH,SJ,PZ)
select ID,BH,max(SJ),PZ
from JKXX
group by ID,BH,PZ
参考技术D insert into 临时表(ID,BH,SJ,PZ)
select ID,BH,max(SJ),PZ
from JKXX
group by ID,BH,PZ本回答被提问者采纳

以上是关于SQL重复数据的筛选的主要内容,如果未能解决你的问题,请参考以下文章

sql语句查询过滤重复数据

SQL SERVER 2005删除重复数据

SQL语句怎么筛选表中某一字段不重复的数据行数?

SQL 查询一表所有数据 有重复的按时间取第一条

用distinct查询筛选去除数据库两个字段重复的值,不成功,还是你把重复的值显示出来了,应该怎么处理呢?

sql 怎么取不重复的数据的所有数据