sql-SQL查询多字段重复项(只保留一个),并进行统计

问题描述

SQL查询多字段重复项(只保留一个),并进行统计

如有某数据库如下:

fldBeginT、fldQuserC、fldUseTim、fldDate如有相同只保留1条,并按fldQuserC进行统计有多少条。

请大神解答。

解决方案

我在网站上帮你找的答案!如下`

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)

简单的说第一个就是删除所有重复的数据,第二个是删除重复数据的同时保留一条数据。它运用的是oracle。

如果是mysql的话,请M我

解决方案二:

SELECT fldBeginT,fldQuserC,fldUseTim,fldDate,COUNT(*) FROM 表名 GROUP BY fldBeginT,fldQuserC,fldUseTim,fldDate

时间: 2024-09-23 05:31:37

sql-SQL查询多字段重复项(只保留一个),并进行统计的相关文章

用SQL语句,删除掉重复项只保留一条

原文 用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,

JS实现合并两个数组并去除重复项只留一个的方法_javascript技巧

本文实例讲述了JS实现合并两个数组并去除重复项只留一个的方法.分享给大家供大家参考,具体如下: //It's merge arr1 and arr2 , delete the same element only leave one //It's only apdapter array. If object, no. //The sequence of the two array is not required. mergeArray:function (arr1, arr2){ for (var

SQL删除重复数据只保留一条

  用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只

javascrpit-有多个id相同的<img>标签,删除多余的,只保留一个

问题描述 有多个id相同的<img>标签,删除多余的,只保留一个 1C 例如div中id=""img1""的有3个,只保留一个 解决方案 谁教你用相同id的就去找谁? var removeObj = document.getElementById('img1'); removeObj.parentNode.removeChild(removeObj); 上面的是删除 保留一个?自己判断吧 解决方案二: 遍历,判断是不是第一个,否则干掉 解决方案三: 那就

sql语句合怎么并重复项

问题描述 sql语句合怎么并重复项 这种一样的药品可以给他合到一起吗?药品数量和金额也加到一起? 解决方案 select 药品名字,sum(数量),sum(个数) from 表名 group by 药品名称 解决方案二: 可以用统计Sql,按药品名称进行分组统计的,先统计,再将两个表连接起来,含有group by子句的sql查询字段只能查询统计数据及group by中的字段.参考: select 项目名称,sum(数量) AS 总量 ,sum(金额) 总额 group by 项目名称 as a

sql数据查询出现字段为空和不为空相加不等于总数

问题描述 sql数据查询出现字段为空和不为空相加不等于总数 情景是这样,一个原始数据excle表格,数据总数为81439条,复制到数据库中select * from 查询后显示结果为81444,然后根据某个字段为空查询出4条,删除后应该是剩81440条呢! 问题出现了,根据某字段aa为空没有查询出来数据,根据aa不为空缺查出81439条数据,少一条.根据字段bb.cc结果一样,根据字段dd为空查询出数据1条,不为空的是81437.根据aa,bb,cc不为空查出81439条为空却查不出数据. 为什

select-Mysql删除重复数据只保留一条

问题描述 Mysql删除重复数据只保留一条 Mysql删除重复数据只保留一条,我的sql这样的 DELETE from t_patient WHERE pa_iid IN (select pa_iid from t_patient group by pa_vname having count(pa_vname)>1) 但是报错了: [Err] 1093 - You can't specify target table 't_patient' for update in FROM clause 求

JS数组去掉重复数据只保留一条的实现代码_javascript技巧

非常不多说,js数组去掉重复数据的代码如下所示: var arr = [1,2,3,4,5,6,1,6,7,2]; var newArr = []; for(var i =0;i<arr.length-1;i++){ if(newArr.indexOf(arr[i]) == -1){ newArr.push(arr[i]); } } 下面再给大家分享高效率去掉js数组中重复项 Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: function unique(ar

linuxshell删除重复文件只保留一份

  #!/bin/bash #name:remove_one.sh #用途:查找并删除重复文件,每个文件只保留一个样本 #将文件依据大小排序并输出 ls -lS | awk 'BEGIN { #得到第一行total总数并丢弃,读取下一行 getline;getline; name1=$9;size=$5; } { name2=$9; if(size==$5) #大小一样的可能是内容相同的文件 { #用md5进行校验和 ("md5sum "name1)|getline; csum1=$1