2010-11-09 51 views
14

TABLE quotationMySQL的計數獨特的行值

id clientid 
1 25 
2 25 
3 25 
4 25 
5 26 

我如何可以查詢有多少不同的客戶TABLE quotation存在嗎?我不希望重複的條目被計入多次。

我需要的答案是2,在1行,因爲唯一的非重複條目是(25,26)。

+1

您的標題有誤導性:您不計算重複行數,而是計算唯一行數。計數重複行將返回「4」,因爲有4行具有相同的clientid值。 – Konerak 2010-11-09 09:09:21

+0

建議對問題標題/文本進行編輯,因爲此問題目前是「mysql count duplicate entries」的最高谷歌搜索結果。 – 2013-05-13 22:16:04

回答

35
select count(distinct clientid) from quotation 

read more

2

我發現我嘗試了MySQL的5.x的數據庫上執行下面出路

SELECT COUNT(*) as total FROM (SELECT COUNT(*) FROM quotation GROUP BY 
clientid) t1 
0
SELECT clientid, COUNT(clientid) FROM quotation 
GROUP BY clientid 
+0

這沒有得到如下客戶的總數: 「select quot(distinct clientid)from quotation」 – 2017-10-13 06:29:25

1

id是一個整數,clientid是一個整數。我填充了兩行:在本例中如果你想2個或多個元素

select * from test1 group by clientid having count(*) = 2; 

,更換= 2以上>= 2

id clientid 
1 25 
2 25 

這個SQL查詢將打印具有完全相同2個元素的行。

select * from test1 group by clientid having count(*) >= 2; 
1

如果要計算唯一條目的總數,這將返回列計數中的數字。

SELECT COUNT(*) as total FROM (SELECT COUNT(*) FROM quotation GROUP BY clientid having count(*) > 1) t1 

如果要計算具有重複行的條目總數,請使用以下mysql。

SELECT COUNT(*) as total FROM (SELECT COUNT(*) FROM quotation GROUP BY clientid having count(*) >= 2) t1