程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL中distinct的用法(四種示例剖析)

SQL中distinct的用法(四種示例剖析)

編輯:MSSQL

SQL中distinct的用法(四種示例剖析)。本站提示廣大學習愛好者:(SQL中distinct的用法(四種示例剖析))文章只能為提供參考,不一定能成為您想要的結果。以下是SQL中distinct的用法(四種示例剖析)正文


在應用mysql時,有時須要查詢出某個字段不反復的記載,固然mysql供給有distinct這個症結字來過濾失落過剩的反復記載只保存一條,但常常只 用它來前往不反復記載的條數,而不是用它來前往不重記載的一切值。其緣由是distinct只能前往它的目的字段,而沒法前往其它字段,這個成績讓我困擾良久,用distinct不克不及處理的話,我只要用二重輪回查詢來處理,而如許關於一個數據量異常年夜的站來講,無疑是會直接影響到效力的,所以糟蹋了我年夜量時光。

在表中,能夠會包括反復值。這其實不成成績,不外,有時您或許願望僅僅列出分歧(distinct)的值。症結詞 distinct用於前往獨一分歧的值。

表A:

示例1


select distinct name from A

履行後成果以下:

 

示例2


select distinct name, id from A

履行後成果以下:

現實上是依據“name+id”往來來往重,distinct同時感化在了name和id上,這類方法Access和SQL Server同時支撐。

示例3:統計


select count(distinct name) from A;   --表中name去重後的數量, SQL Server支撐,而Access不支撐
select count(distinct name, id) from A;   --SQL Server和Access都不支撐

示例4


select id, distinct name from A;   --會提醒毛病,由於distinct必需放在開首

其他

distinct語句中select顯示的字段只能是distinct指定的字段,其他字段是弗成能湧現的。例如,假設表A有“備注”列,假如想獲得distinc name,和對應的“備注”字段,想直接經由過程distinct是弗成能完成的。

但可以經由過程其他辦法完成關於SQL Server將一列的多行內容拼接成一行的成績評論辯論

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved