使用count 和distinct(去重)關鍵字可以查看資料庫某列是否有重復項。例如:
select count(discinct(colunmname)) from table_name;
如果上述查詢統計結果大於count(colunmname),則代表這一列有重復項。
(1)sqldistinct統計擴展閱讀
SQL SELECT DISTINCT 語句用法介紹:
在表中,可能會包含重復值。這並不成問題,不過,有時您也許希望僅僅列出不同(distinct)的值。
關鍵詞 DISTINCT 用於返回唯一不同的值。
語法:
SELECT DISTINCT 列名稱 FROM 表名稱
使用 DISTINCT 關鍵詞,例如要從 "Company" 列中選取所有的值,我們需要使用 SELECT 語句:
SELECT Company FROM Orders
❷ SQL中select語句跟「distinct」這個參數有什麼作用
distinct如果緊跟在Select之後, 則: 如果Select結果中出現重復行,則重復行只保留一行
distinct如果出現在集函數中,則統計時重復值只記一次.
distinct是關鍵字
❸ 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的用法
不分先後的。因為distinct都是用在查詢上面的,直接查詢出來就行了
比如:重復出現重復數據的欄位name
select *, count(distinct name),count(name) from table group by name
查詢出所有欄位的信息外還有「結果中該欄位內容出現數量」、「去除重復前欄位內容出現數量」.這樣使用應該能看懂吧。
❺ SQL 語句select count(distinct (aa)) from table1
distinct
去重後再進行count
求條數,結果當然是1了,因為distinct
-1.2表示去除表中所有重復的為-1.2的數據,而count
()是進行條數統計,所以最後無論是那個數,結果都會是1
❻ SQL語句中的 Distinct 和 Group by 有什麼不同,用那個好
兩個意義不同,前者只是排除重復項,即關鍵字相同的幾條記錄只顯示一條,而Group
by
品名,單位是把
品名,單位相同的項進行小計
一個有計算小計的作用,一個沒有,怎麼會一樣呢?
如果你僅僅要求去掉重復記錄,確實看不到區別,但如果需要計算就看出區別了。
❼ 求助 sql server分組統計問題
你是來搞笑的么。。。。。
兩個語句中最後面的一個左連是費的。
上面的語句用he.idISNOTNULL做where條件,又用he.id排序。但是he.id本來就等於h.ORDERED_DOCTOR_ID
hrm_employee這個員工表屬於基礎信息,正常價格是不帶delete功能的。所以根本沒必要存在。這個連表。
然後就是解決你上面會上面和下面兩個SQL不一致的問題了
問題出現再你h和d兩個聯表上。從你第一段SQL看出,S_ZYFYLB_DM是復數存在的,也就是有笛卡兒積。然而你「參與列數」欄位居然加了 distinct 這個關鍵字。
distinct是全部列數數據相同才會觸發唯一機制。所以你第一個SQL的distinct觸發無效。
第二個SQL只有COUNT統計,肯定能觸發distinct了。
所以就變成總行數有差異了。
❽ sql語句distinct 和sum()該怎麼求分類匯總
select 名稱 , 分類 ,sum( 重量) as 重量 from 表1
group by 名稱 , 分類
這樣就可以了。
❾ ACCESS中的SQL語句count(distinct(欄位名))問題
你這個問題我測試過,access
裡面的distinct是不能這樣是用的啊!
我測試用group
by
試過,可以分類統計.
select
count([
欄位名
])
as
[欄位名]
from
[表名]
group
gy
[欄位名]
完全可以出你想要的結果!
❿ sql統計不重復數據
selectcount(憑證號)as個數from
(selectdistinct憑證號from帳本數據where平衡表用分錄='經費支出'and發生月=1)
祝你成功!