原文:SQL distinct和order by 冲突问题

需求 对查询到的数据去重后用创建时间进行排序 产生冲突的语句 selectdistinct 名称 from 表order by 创建时间 错误:如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。 原因 SQL的执行顺序问题 网上查了一下资料,原因总结如下: 首先,在mysql中distinct 的执行顺序高于order by。 第二,disti ...

2018-12-24 17:02 0 1865 推荐指数:

查看详情

解决SqlDIstinctOrder By共同使用的冲突问题

1.需求场景:   需要把最新更新文章的前五名作者展示出来。 2.解决问题第一步:    select top 5 creator from table order by updateDate desc 结果:显示五条记录,但是名字是重复的。 3.解决问题第二步 ...

Fri Jun 02 18:57:00 CST 2017 3 11098
distinctorder by冲突

当select子句使用distinct关键字时,可能会与order by子句冲突,从而产生如下错误 错误:ORA-01791: not a SELECTed expression 根据sql语句的执行顺序,distinct的执行顺序优先于order by,因此distinct对select ...

Mon Aug 03 21:49:00 CST 2020 0 1960
SQL 基础 :Distinctorder by 关系。(Distinct 自动排序)

  今天本来是测试一段代码,然后用到Distinct关键字,查看执行计划之后,突然发现过程中有对表进行sort! 上网搜索和加之验证得出如下结果:   结论:   1.使用distinct 关键字后会对distinct后面用到的关键字进行默认的升序排序.   2.可以使用order ...

Wed Nov 07 01:14:00 CST 2012 0 13579
DISTINCT、GROUP BY和ORDER BY效率问题提提速

废话不多说,直击问题处理过程... 问题描述 原SQL,多表关联,order表4w,order_trace表24w数据,按照正常逻辑,就算关联7表,查询其他表得字段很多,查询分页得到数据速度平均在1.300s,肯定存在问题问题排查 EXPLAIN一下 ...

Tue Jun 18 05:11:00 CST 2019 0 610
SQL Distinct处理多列的问题

  今天在做SSIS的ETL工作时,其中一个left join组件的运行结果总是会多出一些记录。分析了一下,该问题的原因是右表中作为关联的那一列数据有重复。left join的运行策略可以理解为根据左表的每一条记录的关联字段去对照右表的关联字段,如果右表的关联字段存在重复,就会生成重复的记录 ...

Fri Nov 07 03:31:00 CST 2014 1 45728
mysql数据去重并排序使用distinctorder by 的问题

比如直接使用: SELECT   distinct mobileFROM   table_aWHERE   code = 123ORDER BY   a_ime desc 在本地mysql数据库没有错,在线上的数据库就会报如下错(估计是版本的问题):Expression ...

Mon Aug 27 04:24:00 CST 2018 0 3111
mysql ORDER BY,GROUP BY 和DISTINCT原理

前言 除了常规的Join语句之外,还有一类Query语句也是使用比较频繁的,那就是ORDERBY,GROUP BY以及DISTINCT这三类查询。考虑到这三类查询都涉及到数据的排序等操作,所以我将他们放在了一起,下面就针对这三类Query语句做基本的分析。 ORDER BY 的实现 ...

Mon Nov 19 06:33:00 CST 2012 0 19573
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM