SQL中distinct的用法

来源:https://www.cnblogs.com/Alitac/archive/2020/03/25/12571130.html

distinct這個關鍵字來過濾掉多餘的重覆記錄只保留一條,但往往只用它來返回不重覆記錄的條數,而不是用它來返回不重記錄的所有值。 ...


SQL中distinct的用法

distinct這個關鍵字來過濾掉多餘的重覆記錄只保留一條,但往往只用它來返回不重覆記錄的條數,而不是用它來返回不重記錄的所有值。其原因是distinct只能返回它的目標欄位,而無法返回其它欄位, 接下來通過本篇文章給大家分享SQL中distinct的用法,需要的朋友可以參考下

在使用mysql時,有時需要查詢出某個欄位不重覆的記錄,雖然mysql提供有distinct這個關鍵字來過濾掉多餘的重覆記錄只保留一條,但往往只 用它來返回不重覆記錄的條數,而不是用它來返回不重記錄的所有值。其原因是distinct只能返回它的目標欄位,而無法返回其它欄位,這個問題讓我困擾很久,用distinct不能解決的話,我只有用二重迴圈查詢來解決,而這樣對於一個數據量非常大的站來說,無疑是會直接影響到效率的,所以浪費了我大量時間。

在表中,可能會包含重覆值。這並不成問題,不過,有時您也許希望僅僅列出不同(distinct)的值。關鍵詞 distinct用於返回唯一不同的值。

其他

distinct語句中select顯示的欄位只能是distinct指定的欄位,其他欄位是不可能出現的。例如,假如表A有“備註”列,如果想獲取distinc name,以及對應的“備註”欄位,想直接通過distinct是不可能實現的。


您的分享是我們最大的動力!

更多相關文章
  • 剛裝好的Linux系統出現所有home目錄下的文件全部出現到桌面,對於處女座的人來說,實在是彆扭至極,因此果斷調整。 重啟關機命令點擊此處 原桌面 #1.用vim編輯器打開文件,或者用gedit、nano打開都可以,這裡以vim為例 sudo vim ~/home/velma(用戶名)/.confi ...
  • while迴圈用於不斷執行一系列命令,也用於從輸入文件中讀取數據。命令執行完畢,控制返回迴圈頂部,從頭開始直至測試條件為假。 [toc] 語法格式 無限迴圈的實現 寫法一 寫法二 while讀取鍵盤信息 下麵這段代碼可以接收一行鍵盤的輸入,然後把輸入的內容覆述在屏幕上,就像復讀機一樣。當然,我沒給它 ...
  • 實例 這個命令比較厲害。。 nohup 加在一個命令的最前面,表示不掛斷的運行命令 & 載入一個命令的最後面,表示這個命令放在後臺執行 查看後臺運行的命令 有兩個命令可以來查看,ps 和 jobs。區別在於 jobs 只能查看當前終端後臺執行的任務,換了終端就看不見了。而ps命令適用於查看瞬時進程的 ...
  • 1. touch + qwe.txt(文件名 ) 創建文件akk.txt文件 2.vi akk.txt vi為進入vim編輯器命令,意為在vim編輯器中編輯qwe.txt文件 3.i i意為insert為輸入模式,輸入i之後你就可以開始編輯這個txt文件了 4.esc 退出編輯模式 5. :wq 保 ...
  • 目錄導航 1、啟用網路發現和密碼訪問共用 2、設置用於訪問共用文件夾的用戶和密碼 3、創建共用文件夾並設置訪問許可權 4、訪問共用的文件夾 1、啟用網路發現和密碼訪問共用 返回目錄導航 1.1 使用組合鍵“Win+R”打開運行視窗,輸入“control”打開控制面板 1.2 在控制面板中,點擊“查看網 ...
  • 一 Kubernetes網路策略 1.1 策略說明 為實現細粒度的容器間網路訪問隔離策略,Kubernetes發佈Network Policy,目前已升級為networking.k8s.io/v1穩定版本。 Network Policy的主要功能是對Pod間的網路通信進行限制和準入控制,設置方式為將 ...
  • 查找一個關鍵詞: grep -o objStr filename|wc -l 查找多個關鍵字 將關鍵詞用‘|’ 分隔grep -o ‘objStr1|objStr2' filename|wc -l ...
  • 接上一篇文章,在瞭解Apache基本配置以及SELinux相關知識後,繼續演示Apache提供的虛擬主機功能以及訪問控制方式。 ...
一周排行
  • 背景 習慣使用markdown的人應該都知道Typora這個神器,它非常簡潔高效。雖然博客園的線上markdown編輯器也不錯,但畢竟是網頁版,每次寫東西需要登錄系統-進後臺-找到文章-編輯-保存草稿。。。非常難受。。。 但是使用Typora來寫的話,文章圖片又是個問題,本地寫完粘貼到網站上,圖片全 ...
  • 案例:修改預設線程個數 1.NameValueCollection System.Collections.Specialized.NameValueCollection collection = new System.Collections.Specialized.NameValueCollecti ...
  • // from https://stackoverflow.com/questions/35381238/how-to-use-custom-fonts-in-emgucv string text = "塗聚文(Geovin Du)"; // 下麵定義一個矩形區域 int rectWidth = t ...
  • 場景 ASP.NET中新建Web網站並部署到IIS上(詳細圖文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199747 前面講過將ASP.NET的項目部署到本機的IIS上。 但是如果將其部署到伺服器上Window ...
  • 在不同的區域中使用Convert.ToDouble可能會產生問題。 string str = "20.0"; double val = Convert.ToDouble(str); 比如在某些區域語言中得到的結果是200,如: Thread.CurrentThread.CurrentCulture ...
  • 1、前言 ​ 不知道你是否對.NET裡面的定時器產生過一些疑問,以下是武小棧個人的一些總結。 2、官方介紹 在.NET的框架之內定時器有四種,先看一下微軟官方對他們各自特點介紹: System.Timers.Timer,它將觸發事件,並定期在一個或多個事件接收器中執行代碼。 類旨在用作多線程環境中基 ...
  • 筆試考試系統需求分析 1. 引言 1.1編寫目的 項目需求分析目的是使用戶和軟體開發者雙方對項目開發目標有一個共同的理解,便於對軟體開發各個過程的控制與管理,通過對項目開發目標的描述,使開發人員能夠正確理解用戶需求,明確該系統應具有的功能。性能與界面要求。 需求分析作為項目開放的基礎和依據,其預期讀 ...
  • 使用Topshelf部署.net core windows服務 首先新建一個.net core的模板worker程式 過程 略 打開Program.cs namespace TopshelfDemo { public class Program { public static void Main(s ...
  • xaml裡面使用很簡單 xmlns:i="http://schemas.microsoft.com/xaml/behaviors" <i:Interaction.Behaviors> <i:MouseDragElementBehavior/> </i:Interaction.Behaviors> 後 ...
  • Application Insignhts是微軟開發的一套監控程式。他可以對線上的應用程式進行全方位的監控,比如監控每秒的請求數,失敗的請求,追蹤異常,對每個請求進行監控,從http的耗時,到SQL查詢的耗時,完完整整的被記錄下來。當對程式進行優化跟排錯時非常好使。它原來是visualstudio ...