`
yourenyouyu2008
  • 浏览: 287574 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DISTINCT 排序问题

    博客分类:
  • sql
 
阅读更多

语句1查询出来的T_DT_HOMEWORK记录会重复,语句2的目的是去除重复的记录,并且保留重复记录中的第1条(业务要求),但是数据库去除重复时任意保留重复中的一条,而不是保留第一条

 

语句1

SELECT b.`RECOMMEND_ORG_CODE`,b.`CREATE_DATE`,b.`CREATOR_ID`, a.*  FROM T_DT_HOMEWORK a,T_DT_HOMEWORK_AUDIT b
WHERE a.ID = b.HOMEWORK_ID
AND a.RECOMMEND_ORG_CODE LIKE '220221%'
AND b.RECOMMEND_FLAG=1
ORDER BY b.RECOMMEND_ORG_CODE ASC ,b.`CREATE_DATE` DESC

 

语句2

SELECT DISTINCT a.id  FROM T_DT_HOMEWORK a,T_DT_HOMEWORK_AUDIT b
WHERE a.ID = b.HOMEWORK_ID
AND a.RECOMMEND_ORG_CODE LIKE '220221%'
AND b.RECOMMEND_FLAG=1
ORDER BY b.RECOMMEND_ORG_CODE ASC,b.`CREATE_DATE` DESC

分享到:
评论

相关推荐

    EFCore查询不重复数据Distinct.docx

    由于数据库可能不支持这种组合操作,EFCore可能会尝试先执行去重,然后再排序,这可能导致性能问题或不正确的结果。在某些情况下,可能需要编写SQL语句直接在数据库层面处理这种情况,以确保正确性和效率。 此外,...

    MySQL中索引优化distinct语句及distinct的多字段操作

    MySQL通常使用GROUPBY(本质上是排序动作)完成DISTINCT操作,如果DISTINCT操作和ORDERBY操作组合使用,通常会用到临时表.这样会影响性能. 在一些情况下,MySQL可以使用索引优化DISTINCT操作,但需要活学活用.本文涉及一个...

    oracle rownum和distinct

    下面我们将详细地解释 ROWNUM 和 DISTINCT 的工作原理,并分析为什么它们在一起使用时会出现一些问题。 首先, lets' talk about ROWNUM。ROWNUM 是 Oracle 系统赋予查询返回的行的编号,它是从 1 开始的,这个伪...

    【DISTINCT】优化之MySQL官方文档翻译

    然而,在某些场景下,使用`DISTINCT`可能会导致性能问题,尤其是在与`ORDER BY`或`LIMIT`结合使用时。为了帮助用户更好地理解和优化此类查询,本文将详细介绍MySQL如何处理`DISTINCT`优化,并给出一些实用的技巧和...

    完美解决c# distinct不好用的问题

    当一个结合中想根据某一个字段做去重方法时使用以下代码 IQueryable 继承自IEnumerable 先举例: #region linq to object List<People> peopleList = new List(); peopleList.Add(new People { UserName = zzl, ...

    浅谈Oracle优化排序的操作

    Oracle的排序操作通常发生在以下几种情况下:创建索引、索引维护、ORDER BY、GROUP BY、DISTINCT、UNION/INTERSECT/MINUS以及SORT-MERGE JOIN等。 **排序空间**:在进行排序时,Oracle会先尝试在`sort_area_size`...

    Django 解决distinct无法去除重复数据的问题

    要解决这个问题,最简单有效的方法是在使用`distinct`之前先对数据进行排序。具体实现如下: ```python results = MyModel.objects.values('field_name').order_by('field_name').distinct() ``` 通过先使用`order...

    MySQL DISTINCT 的基本实现原理详解

    不过,与GROUP BY不同,DISTINCT不需要对这些数据进行排序。临时表用于存储唯一值,MySQL会检查新行是否与临时表中已有的行匹配,如果不同则添加到临时表。这种方法效率较低,因为它涉及到更多的内存和磁盘I/O操作,...

    oracle sql 去重复记录不用distinct如何实现

    用distinct关键字只能过滤查询字段中所有记录相同的(记录集相同),而如果要指定一个字段却没有效果,另外distinct关键字会排序,效率很低 。 select distinct name from t1 能消除重复记录,但只能取一个字段,...

    Thinkphp 中 distinct 的用法解析

    distinct() 方法一般用于Select查询中,当需要获取特定字段值不重复的数据集时,可以在查询时调用distinct()方法。 distinct()方法的使用非常简单,基本语法如下所示: ```php Model::distinct(true)->field('字段...

    count_distinct:在PostgreSQL中扩展以COUNT(DISTINCT ...)聚合的替代方法

    此扩展提供了COUNT(DISTINCT ...)的替代方法,该方法对于大量数据通常会以排序和不良性能而告终。 职能 有两个多态聚合函数,用于处理按值传递的固定长度数据类型(即,在64位计算机上最多为8B值): count_...

    ORACLE-排序优化[归纳].pdf

    4. 创造并监测临时表空间:合理分配和管理临时表空间,避免空间不足导致的排序问题。 了解在内存中执行排序的数量有助于优化资源分配,通过监控 PGA 的使用情况,可以发现排序操作对内存的需求,进而调整相关参数。...

    strcmp-07-as和distinct关键字.ev4.rar

    这两个概念分别属于C/C++语言和SQL(结构化查询语言)领域,它们各自解决不同的问题,但都关乎数据的比较和处理。 首先,我们来了解一下strcmp函数。strcmp是C/C++标准库中的一个字符串比较函数,它位于`<string.h>...

    Birt總和計算運用 distinct_sum (含rptdesign原始檔+資料庫)

    除了基本的`distinct_sum`用法,还可以结合其他BIRT函数和操作,如条件判断、分组、排序等,来实现更复杂的计算需求。例如,你可能需要按客户分组并计算每个客户的唯一销售额,这可以在数据集的`Group`部分实现,...

    sqlserver中distinct的用法(不重复的记录)

    在SQL Server中,`DISTINCT`关键字用于从查询结果中去除重复的行,确保返回的每一行都是唯一的。在提供的例子中,我们看到一个简单的表格`table`,包含`id`和`name`两个字段,其中`name`字段存在重复值。当我们想要...

    MySQL中distinct语句的基本原理及其与group by的比较

    如果`DISTINCT`与`GROUP BY`结合使用并涉及聚合函数,那么MySQL必须对临时表进行排序,这会增加查询的复杂性和资源消耗。 另一方面,`GROUP BY`主要用于计算每个分组的聚合函数结果,如`COUNT`、`SUM`或`AVG`。与`...

Global site tag (gtag.js) - Google Analytics