sql語句distinct
Ⅰ sql語句的「Select Distinct」是什麼意思
Select Distinct的意思是查找重復的意思,在SQL語句中的作用是過濾結果集中的重復值。
在表中,可能會包含重復值,關鍵詞 DISTINCT 用於返回唯一不同的值,語法為
SELECT DISTINCT 列名稱 FROM 表名稱。
如果要從 "Company" 列中選取所有的值,我們需要使用 SELECT 語句,語句如下:
SELECT Company FROM Orders
Ⅱ sql語句去重distinct方法是什麼
sql語句去重distinct方法是根據name和id兩個欄位來去重的。這種方式Access和SQLServer同時支持,返回的結果為兩行,這說明distinct並非是對xing和ming兩列字元串拼接後再去重的,而是分別作用於了xing和ming列。
sql語句去重distinct特點
distinct語句中select顯示的欄位只能是distinct指定的欄位,其他欄位是不可能出現的,例如假如表A有備注列,如果想獲取distincname,以及對應的備注欄位想直接通過distinct是不可能實現的,但可以通過其他方法實現關於SQLServer將一列的多行內容拼接成一行的問題討論。
distinct這個關鍵字用來過濾掉多餘的重復記錄只保留一條,但往往只用它來返回不重復記錄的條數,而不是用它來返回不重記錄的所有值。其原因是distinct只有用二重循環查詢來解決,而這樣對於一個數據量非常大的站來說,無疑是會直接影響到效率的。
Ⅲ SQL如何去重
1、首先創建一個臨時表,用於演示sqlserver語法中的去重關鍵字distinct的使用。本文以sqlserver資料庫為例演示,
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
CREATE TABLE #tmp1(
Col1 varchar(50),
Col2 int
);
Ⅳ 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將一列的多行內容拼接成一行的問題討論
Ⅳ SQL資料庫DISTINCT是什麼意思
SQL資料庫中,DISTINCT表示去掉重復的行,針對包含重復值的數據表,用於返回唯一不同的值。語法是SELECT DISTINCT 列名稱 FROM 表名稱。如果指定了 SELECT DISTINCT,那麼 ORDER BY 子句中的項就必須出現在選擇列表中,否則會出現錯誤。
(5)sql語句distinct擴展閱讀:
DISTINCT雖然是用來過濾重復記錄。但往往在使用時,只用它來返回不重復記錄的條數,而不是用它來返回不重記錄的所有值。其原因是DISTINCT只有用二重循環查詢來解決,而這樣對於一個數據量非常大的站來說,無疑是會直接影響到效率的。
此外,對於DISTINCT關鍵字,如果後面有多個欄位,則代表著是多條件去重,只有當這幾個條件都相同時才算是重復記錄。
Ⅵ 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同時使用,默認情況下,查詢時返回的就是所有的結果。