.最大的错误:
    在对数据排重的时候,首先想到的就是Distinct,虽然这很管用,但多数场合下不适用,因为通常排重后还要做进一步处理,比如对编号排重后要按日期统计等。

无法排重的Group by ... having ...
    虽然可以用Group by userid having count(*) =1 或者>1 ,但只能找出重复或者不重复的记录,好像达不到distinct 的效果(我是没做到,啊笨)。

这个可以:
    用select * from table t where not exists (select 1 from table where userid=t.userid and submit_time > submit_time) (submit_time为记录入库时间,或者可以用其他的只要是数据库中不重复的字段就成),同时还达到了一个效果,第一次入库的userid才被计算在内,这在许多情况下还是比较有用的(比如处理误操作什么的)。

值得注意:
     另外在用上面的方法排重的时候,如果外面的select * .... where ...  后还有其他条件,则这些条件也要写入 select 1 from .... where .... 中,即内、外条件要相同(我就是没注意到这点,发现结果比Distinct 上下差几条,郁闷了好久:( )

2.还可以这样:
 
select from
(select ID,Name,Email ROW_NUMBER() over (partition by Email order by ID descas rn  from 学员表 ) K
where rn<2;
 
 
3.根据一个字段排重

select * from 表 
where 字段 in (select 字段 from 表 group by 字段 having count(字段) > 1) 
4.sql1="select 标题,参考价格,内容,生产厂商,配件类型,适用机型,配件性能 from Contentpj GROUP BY 标题,参考价格,内容,生产厂商,配件类型,适用机型,配件性能"

SQL 数据排重,去掉重复数据 有用的更多相关文章

  1. SQL查询去掉重复数据

    本文主要总结数据库去掉重复数据的方法 去掉重复数据的方法: 第一种:distinct 根据单个字段去重,能精确去重: 作用在多个字段时,只有当这几个字段的完全相同时,才能去重: 关键字distinct ...

  2. SQL查询语句,怎样查询重复数据

    SQL查询语句,怎样查询重复数据 2012-02-22 14:50神奇的马骁勇 | 浏览 0 次 有表A, 中有字段id, name, memo现在有很多id重复的数据,怎么把这些重复的都查出来?gr ...

  3. SQL删除指定条件的重复数据,只保留一条

    BEGIN DELETE TB FROM TableName TB WHERE TB.ID IN (SELECT MIN(ID) FROM TableName TB2 GROUP BY TB2.Col ...

  4. mysql插入数据时,去掉重复的数据;

    1. 利用insert ignore into语句去重 mysql> INSERT IGNORE INTO person_tbl (last_name, first_name) -> VA ...

  5. 在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据

    在很多情况下,应用程序都需要实现excel数据导入功能,数据如果只有几十条,或上百条,甚至上千条,速度还好. 但是不仅如此,如果客户提供给你的excel本身存在着重复数据,或是excel中的某些数据已 ...

  6. C#里面的事物回滚,解决同步数据插入时出现重复数据

    什么是事物回滚: 举个栗子,你在你家的银行分行取钱,取完钱数据要同步,而且可能每个分行都有一个存储这些数据的数据库,分行的这些 存取的记录都需要实时同步,如果你取完500刚好断电了,好嘛,分行可能刚记 ...

  7. java 去除数组重复数据,并输出重复数据值

    /** * 去除重复数据 * @author Sunqinbo */ public class RemoveDuplicateData { public static void main(String ...

  8. C# Excel数据验重及Table数据验重

    http://blog.csdn.net/jiankunking/article/details/38398087 最近在做导入Excel数据的时候,要检验数据是否重复: 1.要检验Excel数据本身 ...

  9. SQL去掉重复数据

    SELECT vc_your_email,vc_our_ref_or_code INTO #tmp FROM( SELECT vc_your_email,vc_our_ref_or_code,ROW_ ...

随机推荐

  1. Apache中 RewriteCond 规则参数介绍 转

    摘要: RewriteCond指令定义了规则生效的条件,即在一个RewriteRule指令之前可以有一个或多个RewriteCond指令.条件之后的重写规则仅在当前URI与Pattern匹配并且满足此 ...

  2. 图解Fiddler如何抓手机APP数据包过滤抓取

    使用fidder抓取浏览器的包相信不是问题,那么使用fidder 抓取app的数据包呢??? 于是,找了一篇博客来学习一下,可以参考一下,根据自己的需求来实现. 在网上自己学习,然后整理了我所用到的, ...

  3. 遇到eclipse安装插件一直报错问题(版本问题)

    刚好用了一个插件,然后在线安装报错了,一直报错,之前用的这个插件是直接解压贴的,现在在线安装出错,就很尬,我又有点懒,不想再去下载,贴,所以查了下,有网友说是eclipse的插件版本问题,更新了下,成 ...

  4. asp.net 操作共享目录文件

    背景: 服务器A为程序服务器,服务器B为文件服务器.服务器A的程序需要修改删除服务器B的文件. 实现方式:采用虚拟目录映射 操作步骤: 1.在服务器A与服务器B建立相同账号和密码的windows用户 ...

  5. Instruments检测解决内存泄露以及进行性能测试

    1.启动Xcode自带的Instruments.这里有两种方法启动. 方法一: 方法二: 2.选择Leaks选项.(该选项用来进行内存泄漏检测) 说明: Leaks:找到引发内存泄漏的起点. Time ...

  6. java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream异常解决方法

    使用Tomcat部署Servlet程序时,单步调试跟踪到: List<FileItem> itemList = sfu.parseRequest(request); 总是会报错:Java. ...

  7. mysql存入GBK编码字段信息

    set @moneyStr=BASE64_ENCODE(CONVERT(CONCAT('线上报名且已交费',money,'元') using GBK));

  8. Android 控件之Spinner

    Spinner用来显示列表项,类似于一组单选框RadioButton.下面瞥一下它的效果. 源码下载 一.概述 Spinner是一个每次只能选择所有项的一个项的控件.它的项来自于与之相关联的适配器中. ...

  9. DHCP(一)

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  10. java流类,快速统计出字符次数+++

    总结:学会给一个合适的命名,不要总是abc..虽然简单,但是不容易看懂,和方便去理解 package com.aini; import java.io.File; import java.io.Fil ...