`

sql去掉重复记录的查询

    博客分类:
  • SQL
SQL 
阅读更多
有一个表: tableA

ID,mathid,chipintypeid,otherpl,ascdesc,changedate

2  100  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:1'
3  102  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:2'
4  103  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:3'
5  100  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:4'
6  100  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:5'
7  104  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:6'
8  103  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:7'
9  100  2  '1.0||2.0'  '1||2'  '2009-03-18 15:20:8'
10  100  5  '1.0||2.0'  '1||2'  '2009-03-18 15:20:9'
11  104  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:10'
12  100  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:10'

现要取得

12  100  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:10'
11  104  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:10'
10  100  5  '1.0||2.0'  '1||2'  '2009-03-18 15:20:9'
9  100  2  '1.0||2.0'  '1||2'  '2009-03-18 15:20:8'
8  103  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:7'
3  102  1  '1.0||2.0'  '1||2'  '2009-03-18 15:20:2'

要求:

取得最新的. 同时去掉mathchid,chipintypeid重复的数据行
如上面有4条 matchid=100 chipintypeid=1的数据,只取最新的,就是ID为12的记录
matchid=104 chipintypeid=1也是一样的
SQL code--1
select t.* from tablea t where changedate = (select max(changedate) from tablea where mathchid = t.mathchid and chipintypeid = t.chipintypeid)

--2
select t.* from tablea t where not exists (select 1 from tablea where mathchid = t.mathchid and chipintypeid = t.chipintypeid and changedate > t.changedate)

分享到:
评论

相关推荐

    SQL语句去掉重复记录,获取重复记录

    SQL语句去掉重复记录,获取重复记录

    sql去除重复记录大全

    各种去除重复的sql语句,日常常用,适合一些刚开始学习的基础人员

    SQL去除重复记录(七种)

    本文主要介绍了SQL去除重复记录的七种方法。具有很好的参考价值,下面跟着小编一起来看下吧

    清除SQL数据库里的重复记录

    教你如何在SQL数据库后台通过SQL语句删除重复SQL记录。

    去除重复记录

    sql server可以去除数据库重复记录,增加统计数据库的有效性

    sqlserver利用存储过程去除重复行的sql语句

    还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran –开始事务 drop ...

    删除数据库重复SQL

    可以删除数据库里面表有重复的记录,简洁写法可以复用。谢谢!

    sqlserver查询

    (2) 查找flower表中所有鲜花的类别fclass,去掉重复记录 写出命令: Select distinct fclass from flower (3) 查找flower表中的fname 花名,cailiao 材料,huayu 花语 ,price 市场价,yourprice 现价 字段 写出命令: ...

    解决Oracle删除重复数据只留一条的方法详解

    查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1)2、删除表中多余的重复记录,...

    精通SQL--结构化查询语言详解

    5.2.3 使用distinct去除重复信息 86 5.2.4 多列查询 87 5.2.5 查询所有的列 88 5.3 排序查询结果 89 5.3.1 单列排序 89 5.3.2 多列排序 90 5.3.3 采用序号进行多列排序 91 5.3.4 反向排序 92 5.4 使用where...

    使用SQL语句去掉重复的记录【两种方法】

    主要介绍了用SQL语句去掉重复的记录的两种方式,两种方式都可以使用临时表操作,具体实现方法大家跟随脚本之家小编一起通过本文学习吧

    T-SQL高级查询

    1、 distinct去掉重复数据 select distinct sex from student; select count(sex), count(distinct sex) from student; 2、 compute和compute by汇总查询 对年龄大于的进行汇总 select age from student where...

    精通SQL 结构化查询语言详解

    5.2.3 使用DISTINCT去除重复信息  5.2.4 多列查询  5.2.5 查询所有的列 5.3 排序查询结果 5.3.1 单列排序  5.3.2 多列排序 5.3.3 采用序号进行多列排序 5.3.4 反向排序  5.4 使用WHERE子句定义搜索条件...

    数据库中重复值和空值的处理

    在一些情况下,如要查询数据中的几个字段,此时有可能产生重复记录,而重复的记录是不符合规范的,数据表是现实世界的客观反映,因此,...  在使用DISTINCT关键字去除重复记录时,需将DISTINCT关键字放在第一个字段

    精通sql结构化查询语句

    SQL查询篇第6章 简单的SELECT语句查询 6.1 查询的基本结构 6.1.1 了解SELECT语句 6.1.2 SELECT语句的语法格式 6.1.3 SELECT语句的执行步骤 6.2 简单的查询语句 6.2.1 查询表中指定的字段 6.2.2 查询所有的字段 6.2.3...

    VB查询时不显示重复记录

    摘要:VB源码,数据库应用,过滤重复记录 VB与Access配合过滤重复记录,在查询时不显示重复的记录,这样数据量多精确,程序以ACCess数据库为例进行演示,当然,了解了原理,其实很容易就会明白采用其它数据库时的实现...

    SQL语句集锦.rar

    去掉重复的列名.txt 取n到m条记录.txt 合并字符串.txt 多列的行转列.sql 多行补充.sql 多表对多表进行统计.txt 大小写转换.txt 子查寻和内联查寻.txt 学生名次.txt 嵌套游标的使用.txt 拷贝表格.txt 排序.txt ...

Global site tag (gtag.js) - Google Analytics