我用下面的查詢,並返回了什麼,我想這回,但我有一個艱難的時間環繞我的頭周圍什麼查詢正在進行。SELECT DISTINCT(COUNT(*))究竟幹什麼?
查詢無非是什麼在標題票友:select distinct(count(*)) from table1
我用下面的查詢,並返回了什麼,我想這回,但我有一個艱難的時間環繞我的頭周圍什麼查詢正在進行。SELECT DISTINCT(COUNT(*))究竟幹什麼?
查詢無非是什麼在標題票友:select distinct(count(*)) from table1
的不同是多餘的... SELECT COUNT(*)只有一個表只能生成一個值,所以不同(這將消除重複)是irelelvant。
如果你有多個輸出(例如,如果你是在什麼分組),那麼這將導致查詢只顯示一個輸出一行COUNT(*)的每個不同的值,將其他明智的生成......
如果,例如,你有
name
Bob
Bob
Bob
Bob
Mary
Mary
Mary
Mary
Dave
Dave
Al
George
然後
select count(*)
From table
group By name
會導致
4
4
2
1
1
但
select distinct count(*)
From table
group By name
會導致
4
2
1
的不同之處在你的SQL不是必需的,因爲你會得到唯一的結果,COUNT(*)沒有group by子句的回報,該表中所有行的計數。
因此試試這個:
select count(*) from table1
鮮明用於從一組值的尋找不同的值:
說你有表1,與COLUMN1爲:
Column1 ---------- a a b b a c
以下sql語句正在運行,你會得到輸出:
1)select count(*) from table1
輸出:6
2)select distinct(count(*)) from table1
輸出:6
3)select count(distinct column1) from table1
輸出:3
一般不同,使用內部計數優選與特定的列。
select count(distinct column_name_n) from table1
的'不需要Distinct'。它得到'Table1'中的所有數據的單個Count,然後得到不同的計數(只有一個)。你可以通過同樣的結果:'SELECT COUNT(*)FROM Table1' – Siyual 2014-09-25 18:12:36
你確定這是不是'SELECT COUNT(DISTINCT *)FROM table1'?這會更有意義,「DISTINCT」實際上會執行有用的功能。 – 2014-09-25 18:13:02
'DISTINCT'是一個SQL關鍵字,不是'DISTINCT()'的函數。這是人們經常犯的一個錯誤,它掩蓋了它真正的目的,以及它在整個行集上的作用,而不是它最接近的列名。 – 2014-09-25 18:14:18