原文: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