美文网首页
sql的三种去重

sql的三种去重

作者: 是归人不是过客 | 来源:发表于2018-11-16 17:16 被阅读288次

1.存在两条完全相同的纪录

这是最简单的一种情况,用关键字distinct就可以去掉

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

2.存在部分字段相同的纪录(有主键id即唯一键)

如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组

例子:

        select * from table where id in (select max(id) from table group by [去除重复的字段名列表,....])

3.没有唯一键ID

这种情况我觉得最复杂,目前我只会一种方法,有那位知道其他方法的可以留言,交流一下:

例子:

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

       select * from newtable where id in (select max(id) from newtable group by [去除重复的字段名列表,....])

       drop table newtable

相关文章

  • sql的三种去重

    1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 例子: select dis...

  • sql 数据去重

    select distinct name from 表名

  • mysql union

    两条sql语句的结果合并并去重

  • mysql数据 sql去重

    查询出表中重复数据 select word,max(id) mid from test group by word...

  • mysql可以去重的SQL语句

    最近在做数据库查询的时候遇到一个问题,需要在一个表中分页取出满足条件的记录,但是要根据某一字段进行去重。在网上查了...

  • 不可置信!SQL 优化终于干掉了“distinct”

    sql 优化之多表联合查询干掉 “distinct” 去重关键字 所以需要把多表的子查询的 sql 结构进行优化。...

  • 数据库sql去重

    1 去重1.1 查询1.1.1 存在部分字段相同的纪录,即有唯一键主键ID最常见情况如果是这种情况的话用d...

  • PreparedStatement与Statement的区别

    JDBC中执行sql对表的查询有三种方式,静态SQL语句(Statement),动态SQL语句(PreparedS...

  • SQL Server面试题

    (一)SQLServer数据库 1.SQL有哪三种注入方式?SQL安全 动态SQL拼装注入、SQL溢出漏洞、获取管...

  • SQL 小结

    1、SQL查询某去重后的总数 select addrvalue from attack_t where addrt...

网友评论

      本文标题:sql的三种去重

      本文链接:https://www.haomeiwen.com/subject/ojomfqtx.html