❶ sql語句中DISTINCT是什麼意思
DISTINCT 這個關鍵詞的意思是用於返回唯一不同的值。
在表中,可能會包含重復值。這並不成問題,不過,有時您也許希望僅僅列出不同(distinct)的值。SELECT DISTINCT 表示查詢結果中,去掉了重復的行;Distinct表示去掉重復的行。
(1)sqldistinct什麼時候執行擴展閱讀:
sql語句中使用DISTINCT的注意事項:
如果指定了 SELECT DISTINCT,那麼 ORDER BY 子句中的項就必須出現在選擇列表中,否則會出現錯誤。
比如SQL語句:SELECT DISTINCTCompanyFROM Orders order byCompanyASC是可以正常執行的。
但是如果SQL語句是:SELECT DISTINCTCompanyFROM Orders order byNumASC是不能正確執行的,在ASP中會提示「ORDER BY 子句與 (Num) DISTINCT 沖突」錯誤。
SQL語句修改成:SELECT DISTINCTCompany,NumFROM Orders order byNumASC可以正常執行
參考資料:網路-DISTINCT
❷ SQL中 oderby和distinct哪一個先執行
邏輯順序是DISTINCT先執行,ORDER BY 最後執行。但是查詢分析器可能會根據具體的查詢語句進行優化,實際執行計劃中的順序可能會不同。
❸ sql什麼時候用 distinct
distinct關鍵字 篩選表中重復的數據並只顯示一條
當表中重復數據過多時,舉個列子 加入有多個人名name叫張三
select distinct name,sex,city from tablename
會篩選姓名重復的記錄並只顯示一條
❹ sql:關於distinct的用法
不分先後的。因為distinct都是用在查詢上面的,直接查詢出來就行了
比如:重復出現重復數據的欄位name
select *, count(distinct name),count(name) from table group by name
查詢出所有欄位的信息外還有「結果中該欄位內容出現數量」、「去除重復前欄位內容出現數量」.這樣使用應該能看懂吧。
❺ sql語句去重 distinct是什麼
distinct用來查詢不重復記錄的條數,即distinct來返回不重復欄位的條數(count(distinct id)),其原因是distinct只能返回他的目標欄位,而無法返回其他欄位。
對單一一個欄位使用distinct去除重復值時,會過濾掉多餘重復相同的值,只返回唯一的值。
對多個欄位同時使用distinct去除重復值時,distinct欄位必須放在第一個欄位前面,不能放在其他欄位的後面。既distinct必須放在select後面,第一個欄位的前面。同時,使用distinct多個欄位去除重復數據時,必須滿足各行中各列所對應的值都相同才能去除重復值,如果有其中一列的值不相同,那就表示這些數據不是重復的數據,不會過濾掉。
用法注意
1、distinct【查詢欄位】,必須放在要查詢欄位的開頭,即放在第一個參數。
2、只能在SELECT語句中使用,不能在INSERT,DELETE,UPDATE中使用。
3、DISTINCT表示對後面的所有參數的拼接取不重復的記錄,即查出的參數拼接每行記錄都是唯一的。
4、不能與all同時使用,默認情況下,查詢時返回的就是所有的結果。
❻ 大師們在sql.server資料庫中distinct與where誰先執行 小弟我是新手,幫幫忙呀
肯定是先查數據,where先執行。
where :有條件地從表中選取數據。
distinct :去掉重復數據,是對已經選取的數據進行加工。
❼ distinct用法 SQL用法
對整個select 來說的話.前面加一個distinct表示把重復的記錄去掉的意思
id name
1 張三
2 王三
3 李四
4 張三
2 王三
select distinct id,name from t1
id name
1 張三
2 王三
3 李四
4 張三
select distinct name from t1
name
張三
王三
李四
❽ SQL中distinct的用法是什麼
在表中,可能會包含重復值。這並不成問題,不過,有時您也許希望僅僅列出不同(distinct)的值。關鍵詞 distinct用於返回唯一不同的值。
表A:
返回的結果為兩行,這說明distinct並非是對xing和ming兩列「字元串拼接」後再去重的,而是分別作用於了xing和ming列。
3.COUNT統計
select count(distinct name) from A; --表中name去重後的數目, SQL Server支持,而Access不支持
count是不能統計多個欄位的,下面的SQL在SQL Server和Access中都無法運行。
select count(distinct name, id) from A;
若想使用,請使用嵌套查詢,如下:
select count(*) from (select distinct xing, name from B) AS M;
4.distinct必須放在開頭
select id, distinct name from A; --會提示錯誤,因為distinct必須放在開頭
5.其他
distinct語句中select顯示的欄位只能是distinct指定的欄位,其他欄位是不可能出現的。例如,假如表A有「備注」列,如果想獲取distinc name,以及對應的「備注」欄位,想直接通過distinct是不可能實現的。但可以通過其他方法實現關於SQL Server將一列的多行內容拼接成一行的問題討論
❾ distinct在SQL語句裡面的用法,大家來看看
首先要解釋的是:Distinct是避免
查詢里的重復行,不是針對某一列的。
簡單舉例,數據表這樣寫:
姓名
年齡
性別
----------------------
張三
男
25
李四
女
25
王五
男
42
那麼我這么寫:
select distinct * from 表名
毫無效果,因為壓根就沒重復行,如果把語句減少一個查詢欄位:
select distinct 年齡 from 表名
那結果就只有兩條了。