2011-02-03 139 views
3

如何在MySQL中獲得不同的計數(*)。distinct count(*)

例如,在table1中我有1000萬條記錄,裏面有重複的記錄。

我想從表中找出不同的計數(*)。

我知道,我能做的

從表1 選擇不同的*但是,我並不要獲取10萬條記錄,甚至不希望在其他表中插入不同的記錄,如, 創建表table2 select * from table1

所以,請幫助我的任何其他選項。任何人的歡迎

幫助

回答

4

嘗試使用子查詢:

SELECT COUNT(*) FROM (SELECT DISTINCT * FROM table1) T1 
+0

我有一千萬條記錄在表中,因此使用子查詢將放緩結果 – Krunal 2011-02-03 14:20:30

11
SELECT COUNT(DISTINCT field) FROM table 

SELECT COUNT(*) FROM table GROUP BY field; 

(順便說一句 - 這已經回答了好幾次其他地方在這個網站)

0

也許就像:

SELECT SUM(cnt) FROM (SELECT COUNT(*) as cnt FROM tab GROUP BY some_value)